【Java】垃圾回收机制1

Java的垃圾回收机制

垃圾回收主要针对的是堆区的回收,因为栈区的内存是随着线程而释放的。

堆区分为三个区:

  • 年轻代(Young Generation)(由一个Eden区和俩个survivor区组成)
  • 年老代(Old Generation)
  • 永久代(Permanent Generation,也就是方法区)。

年轻代:新创建的对象都在年轻代的Eden区,经过一次JC收集后,存活下来的会被复制到survivor区(一个满了,就全部移动到另外一个大的中,但要保证其中一个survivor为空),经过多次JC后,还存活的对象就被移到老年代了。

年老代:就是上述年轻代移动过来的和一些比较大的对象。Minor GC(FullGC)是针对年老代的回收。

溢出原因有循环上万次的字符串处理、创建上千万个对象、在一段代码内申请上百M甚至上G的内存。

永久代:存储的是final常量,static变量,常量池。

持久代溢出原因 动态加载了大量Java类而导致溢出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值