jvm-堆

本文介绍了Java内存的新生区、幸存区和永久区,新生区用于对象的创建和初次垃圾收集,幸存区存储经过第一次GC的对象,永久区(在不同JDK版本中变化)则存放Class对象。当各区域满时,会触发不同级别的GC,以防止堆溢出。
摘要由CSDN通过智能技术生成

1. 新生区(伊甸园区+幸存区):

  1.    类:诞生和成长甚至死亡的地方;
  2. 所有的对象都是在伊甸园区new出来的;
  3. 幸存的对象才会去往幸村去0,1;
  4. 伊甸园区满了会触发轻GC,幸存0和1区都满了就会去养老区。当新生区都满了就会触发重GC,能活下来的人就会进入养老区了。当养老区和新生区都满了就会OM(堆溢出)

2.永久区

这个区常驻内存中,用来存放JDK自身携带的Class对象。这个区域不存在垃圾回收,关闭VM虚拟就会释放这个区域的内存。

  1. jdk1.6之前:永久代,常量池是在方法区
  2. jdk1.7:去永久代,常量池在堆中
  3. jdk1.8之后:无永久代,常量池在元空间中
  4. 元空间逻辑上存在,物理上不存在。

 

                     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值