JVM内存模型 常见垃圾回收器 常见OOM原因及排查方向

jvm内存模型

 

整体来说分为 三层,

第一层 类加载子系统

第二层 运行时数据区

第三层 执行引擎、本地接口/本地方法库

我们常常关注的就是这个运行时数据区 主要分为五个部分

分别是: 堆、方法区、本地方法栈、虚拟机栈和程序计数器

这其中堆和方法区是线程共享的

而本地方法栈、虚拟机栈和程序计数器则是线程私有的

这五部分最常关注的又是这个虚拟机栈

虚拟机栈在每个方法执行时都会拥有一个独立的栈帧,这个栈帧中存储着方法局部变量、操作数栈、动态链接、方法出口等

堆是JVM内存占用最大管理最复杂的一个区域 一般分为两个区域 新生代和老年代 新生代一般占用堆空间的1/3,老年代占用2/3

其中新生代一般又分为两个区域,占新生代8/10的Eden区和2/10的survivor区,这里survivor一般又分为两个部分,各占整个Eden区1/10的from和to区域

 

方法区、永久代元空间演变过程 参考:https://www.cnblogs.com/jklixin/p/13457936.html

方法区、永久代与元空间的概念

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值