Java常见面试题

2023-11-18

1、进程和线程的区别

(1)进程是内存中运行的程序,是操作系统资源分配的基本单元,在windows操作系统中运行的每一个exe文件就是一个进程。每个进程都有独立的代码和数据空间(程序上下文),所以程序之间切换开销比较大

(2)线程是处理器任务调度和处理的基本单元。每个进程包含至少一个线程,当包含多个线程时,多个线程共享进程的堆和方法区资源,但是每个线程都有自己独立的虚拟机栈和本地方法栈,所以线程之间切换开销比进程切换要小很多

 

2、栈和堆的区别

(1)申请方式不同。栈是由系统自动分配,而堆是由程序员人为申请;

(2)申请大小不同。栈分配的空间一般都很小,而堆分配的空间要大的多;

(3)申请效率不同。栈是由系统自动分配,所以申请效率高,而堆是人为申请,申请效率低;

(4)存储内容不同。栈在函数调用时,函数调用语句的下一条可执行语句的地址第一个入栈,然后是函数的各个参数,然后是函数的局部变量,当本次函数调用结束后,局部变量先出栈,然后是参数,最后栈顶指针指向最开始存的地址,也就是调用函数中的下一条指令。注意静态变量是不入栈的,静态变量存储在静态方法区。而堆一般是在头部用一个字节来存储堆的大小,堆的具体内容由程序员安排。

(5)底层不同。栈是连续的空间,而堆是非连续的空间。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java常见面试题 的相关文章

随机推荐

  • 关于C++中cout.precision()的使用以及控制输出的小数位数.

    在C 中可以使用cout precison val 来控制浮点数的输出精度 但并不是意味着仅使用cout precison val 可以控制输出结果的小数点位数 在此记录一下 就当做学习笔记 下面先做一下简单的验证 include
  • NLP学习02_最大匹配算法、UniGram LM、Spell Correction

    如果没有数据的时候 那只能通过正则或者规则来解决问题 但是有些基于概率的方法 必须有一定的数据 首先我们要对句子进行切分 使用分词 接着进行预处理 拼写纠错 stemming 将不同的单词转换到原型 停用词过滤 a an 单词顾虑 同义词等
  • win7本地服务器如何添加网站,win7 添加本地服务器地址

    win7 添加本地服务器地址 内容精选 换一换 OBS Browser 是一款用于访问和管理对象存储服务的图形化工具 支持通过配置内网DNS服务器地址的方式 使在华为云上的Windows ECS通过内网直接访问OBS 下面将介绍具体其操作流
  • java写企业员工信息管理系统

    java写企业员工信息管理系统 这一篇文章主要介绍java写的企业员工信息管理系统 功能介绍 员工登录 首页 工资信息 出差记录 请假 签到 留言 修改密码 退出登录 管理员登录 员工管理 新增员工 工资信息 出差信息 请假信息 签到信息
  • RoboMaster机甲大师:裁判系统服务器搭建助手(RMServer Aid)

    RoboMaster机甲大师 裁判系统服务器搭建助手 RMServer Aid 更新 2022 03 28 写在前面 使用教程 软件简介 软件下载 软件安装 软件使用 打开软件 首次使用 1 组建局域网 2 配置RM环境 3 启动RM服务
  • vmware 磁盘扩容

    文章目录 参考 https blog csdn net zmzdmx article details 112299741 fdisk dev sda root localhost fdisk dev sda Welcome to fdisk
  • 二. SpringCloud Alibaba Sentinel 流控

    目录 一 简单介绍 二 流控模式 直接 快速失败 关联 快速失败 三 流控效果 快速失败 WarmUp 预热 排队等待 一 简单介绍 假设当前 Sentinel 监控的服务中有两个接口 针对整个服务 或针对服务中的指定接口添加流量控制设置
  • nodejs http模块

    客户端 在网络节点中 负责消费资源的电脑 叫做客户端 服务器 负责对外提供网络资源的电脑 叫做服务器 http 模块 是node js 官方提供的 用来创建web 服务器的模块 通过http 模块提供懂得 http caeateServer
  • 自删除技术详解

    基础知识 这里首先说一下程序自删除实现的思路 程序创建一个批处理文件 并创建进程执行 然后程序结束进程 批处理所做的功能便是延时5秒后 删除指定程序然后再自删除 这样 程序自删除功能便实现了 常用的有三种 自删除 技术 1 利用window
  • esp32-S3专题二:内存1之RAM使用

    esp32 S3模块内部的存储分为ROM RAM SPRAM RTC内存 FLASH 种类很多 几乎可以不使用外接存储器的情况下 可以进行很多业务场景 十分有用 现在我们逐一讲解一下他们的作用和使用方法 一 ROM 384 KB 内部 RO
  • Obsidian学习从0到1 —— MARKDOWN

    文章目录 1 认识markdown 2 使用markdown 常用语法 1 标题 2 加粗 斜体 删除线 3 列表 4 分级 5 引用 6 分割线 7 链接 8 代码块 9 任务列表 快捷方式 10 插入图像 11 表格支持 高级用法 1
  • 【STM32】入门(十三):FreeRTOS

    STM32 STM32单片机总目录 1 FreeRTOS简述 完全免费 FreeRTOS是完全免费的实时操作系统 源码简单 只需 3 个 RTOS 移植通用的源文件和 1 个微控制器专用的源文件 镜像较小 具有最小 ROM RAM 和处理开
  • 集简云上线ChatGPT文档问答,基于文档实现智能问答训练

    过去 我们想要让ChatGPT结合自身业务进行针对性回答 只能通过输入大量的prompt提示 或使用官方原生Fine Tuning模型训练 然而 过多的prompt提示词一方面提高了使用成本 另一方面 提示词的信息量有限 无法复用于不同的问
  • Permutation 和 Combination

    文章目录 Permutation 代码 代码核心思路 Combination 代码 代码核心思路 总结 Permutation 和 Combination是算法中非常常见的两种数据的排列方式 也就是数学中的排列和组合 Permutation
  • java代码编写规范,讲的太透彻了

    什么是ACID 事务的定义和实现一直随着数据管理的发展在演进 当计算机越来越强大 它们就能够被用来管理越来越多数据 最终 多个用户可以在一台计算机上共享数据 这就导致了一个问题 当一个用户修改了数据而另外一个还在使用旧数据进行计算过程中 这
  • 符号“∑”的用法

    和 分别用来表示求和与求积 Sigma X 将X中的值全部相加 XF XF X表示的是产量 这个没有错 F表示有同样产量X的人数 数学上称为频数 就是英语的Frequency XF的意思 不是人均产量 人数 而是产量X 产量为X的人数 例如
  • EJBCA操作说明(二)java操作

    ejbca web界面操作 代码下载地址 初始化获得EJBCA实例 初始化EjbcaWS 获得EJBCA服务端Webservice实例 return public static EjbcaWS init EjbcaWS ejbcaWS nu
  • 单元测试 实体

    单元测试 实体 代码 Before public void setUp userVoTest new UserVo Test public void testEquals final boolean result userVoTest eq
  • C语言编译遇到的错误提示总结

    C语言编译遇到的错误提示总结 error1 expected asm or attribute before token error1 expected asm or attribute before token 解决方案 很有可能是你定义
  • Java常见面试题

    1 进程和线程的区别 1 进程是内存中运行的程序 是操作系统资源分配的基本单元 在windows操作系统中运行的每一个exe文件就是一个进程 每个进程都有独立的代码和数据空间 程序上下文 所以程序之间切换开销比较大 2 线程是处理器任务调度