G1的垃圾回收概念
来源:互联网 发布:牧场系统源码 编辑:程序博客网 时间:2024/06/05 15:44
通过市场的力量,不断淘汰旧的行业,把有限的资源让给那些竞争力更强、利润率更高的企业。类似地,硅谷也在不断淘汰过时的人员,从全世界吸收新鲜血液。经过半个多世纪的发展,在硅谷地区便形成只有卓越才能生存的文化。本着这样的理念,GC承担了淘汰垃圾、保存优良资产的任务。
G1 GC在回收暂停阶段会回收最大量的堆内区间(Region),这是它的设计目标,通过回收区间达到回收垃圾的目的。这里只有一个例外情况,这个例外发生在并行标记阶段的清除(Cleanup)步骤,如果G1 GC在清除步骤发现所有的区间都是由可回收垃圾组成的,那么它会立即回收这些区间,并且将这些区间插入到一个基于LinkedList实现的空闲区间队列里,以待后用。因此,释放这些区间并不需要等待下一个垃圾回收中断,它是实时执行的,即清除阶段起到了最后一道把控作用。这是G1 GC和之前的几代GC的一大差别。
G1 GC的垃圾回收循环由三个主要类型组成:年轻代循环[1]、多步骤并行标记循环[2]、混合收集循环[3]。当然,单线程、独占式、高强度的Full GC还是继续存在的,它针对GC的评估失败[4]提供了一种失败保护机制,即强力回收。
在年轻代回收期,G1 GC暂停应用程序线程,然后从年轻代区间移动存活对象到幸存者区间或者老年区间,也有可能是两个区间都会涉及。对于一个混合回收期,G1 GC从老年区间移动存活对象到空闲区间,这些空闲区间也就成为了老年代的一部分。
[1] 即Young Collection Cycle。
[2] 即Multistage Concurrent Marking Cycle。
[3] 即Mixed Collection Cycle。
[4] 即Evacuaion failure。
欢迎关注麦克叔叔每晚十点说,有兴趣的朋友可以关注公众号,我们一起交流、一起学习。
- G1的垃圾回收概念
- G1垃圾回收器
- G1垃圾回收器
- G1 垃圾回收
- G1垃圾回收器
- java g1垃圾回收
- G1垃圾回收器调优
- G1垃圾回收器
- 【jvm】-- G1垃圾回收
- elasticsearch G1垃圾回收器
- JVM垃圾回收 之 G1
- Hotspot g1垃圾回收器
- G1垃圾回收器起步
- 深入浅出JVM(四)新一代的垃圾回收算法G1
- 神奇的G1——Java全新垃圾回收机制
- elasticsearch实战-使用G1垃圾回收
- JVM中的G1垃圾回收器
- JVM中的G1垃圾回收器
- 混合高斯模型
- 前端知识总结(js部分)
- 纯C++版的Faster-Rcnn(通过caffe自定义RPN层实现)
- 控制器与视图数据传递
- A security policy configured with `AFSSLPinningModeCertificate` can only be applied on a manager wit
- G1的垃圾回收概念
- SPOJ
- (九)redis GEO地理位置
- JS总结——DOM事件
- 使用IDEA 总结
- 5、redis的两大持久化方式
- Mybatis核心技术
- STM32采集多路ADC到DMA的方法
- mybatis初步学习