当前位置: 首页 > news >正文

初步认识JVM虚拟机的内存结构~

JVM可以分为两大类:私有区和共享区;
私有区又分为三部分:程序计数器,虚拟机栈,本地方法栈;
共享区又分为两个部分:堆,方法区;
私有区不需要垃圾回收器的参与,出栈后JVM自动就释放掉内存,共享区需要垃圾回收器GC参与。
程序计数器是用来保存每个线程执行到字节码的哪一行的,内存大小固定,不存在OOM内存溢出问题。
虚拟机栈是用来保存栈帧的,每个方法要被执行前都会将局部变量存入栈帧,执行时入栈,执行完毕出栈。还有我们平常抛出的栈溢出就是指的虚拟机栈,比如方法死循环递归调用,很多栈帧都需要存入虚拟机栈,但是超过栈帧数量限制就会抛出栈溢出异常。
虚拟机栈是每个线程私有的,当太多线程申请虚拟机栈内存但是JVM提供不了这么多的时候,就会报虚拟机栈内存溢出。
本地方法栈和虚拟机栈作用是一样的,不同点就是入栈的是被native修饰的方法(本质是由C/C++ 编写的方法)。
堆:所有线程创建的对象实例、数组都保存在堆里,是最容易发生OOM的地方,堆又被分为新生代和老年代,新生代就是用于保存新建的对象的堆,先保存在Eden堆,根据存活时间依次移动到S0和S1堆,老年代就是用于保存多次GC都没被回收的对象。
方法区:保存的是静态变量、类的元数据、常量。

image

http://www.jsqmd.com/news/501786/

相关文章:

  • 造相-Z-Image入门指南:如何评估Z-Image生成图像的商业可用性(版权/伦理)
  • 项目管理进阶——详解项目经理应知应会的8大绩效域和12项原则【附全文阅读】
  • AIGlasses_for_navigation效果展示:多角度拍摄下盲道方向一致性分割验证
  • 天猫超市卡回收全攻略,轻松换现不浪费! - 团团收购物卡回收
  • 2026年3月深圳展厅设计公司怎么选?展馆工程、数字展厅、企业展厅一站式服务商盘点 - 海棠依旧大
  • 2026年移民咨询公司推荐:香港移民、香港投资、巴拿马、多米尼克、圣基茨、圣多美 - 讯息观点
  • list集合常踩坑
  • 人脸识别OOD模型效果展示:对抗样本攻击下OOD质量分骤降的防御价值
  • 2026年温州AI搜索营销公司深度观察:从技术到效果的实战派选择指南 - 小白条111
  • 2026年3月广东刚性防水、柔性防水、人防密闭、电气套管厂家优选:基于市场数据的五家核心供应商深度评测与选型指南 - 2026年企业推荐榜
  • SpringBoot 数据库访问层深度实践:JPA+MyBatis-Plus双ORM
  • GESP认证C++编程真题解析 | 202603 六级
  • 小型全自动裁切机:开启高效裁切新时代 - 工业设备
  • 2026年仿石漆生产厂家权威推荐:十大品牌技术驱动下的行业新格局! - 深度智识库
  • LeetCode HOT100 - 多数元素
  • 【RH134总结】 四
  • 使用uv下载并上传到私有仓库(支持python版本修改)
  • 2026年黑龙江口碑好的钢制护士站制造商推荐,专业定制化服务全解析 - mypinpai
  • 大理婚纱照首选推荐|芙拉薇尔:在风花雪月里,定格专属山海浪漫 - 江湖评测
  • 2026软文推广平台实测榜:传声港新媒体平台如何重构营销生态 - 博客湾
  • OpenFoam常用命令
  • 【愚公系列】《剪映+DeepSeek+即梦:短视频制作》010-剪辑:把碎片素材串联成片(速度与节奏)
  • 327万人才缺口!网络安全专业薪资曝光:这些高校毕业即拿高薪(女生也适合)
  • 分析2026年江苏实力强的屋顶防水品牌企业,怎么选择 - 工业推荐榜
  • RebCoord版本管理
  • 2026年玉米加工设备推荐:河南成立粮油机械有限公司,玉米生产线/制粉/提胚设备全系供应 - 品牌推荐官
  • 2026年江苏口碑好的屋顶防水公司推荐,专业防水服务企业全解析 - myqiye
  • 2026年3月陕西/宝鸡/西北防腐木厂家综合测评 - 2026年企业推荐榜
  • 爆火!OptiSystem 二次开发全攻略:Matlab/Python 联动仿真,解锁光通信仿真天花板
  • 程序员怎么学?看完这一篇就够了【非常详细】_程序员怎么入门