-
堆的分区
新生代(Eden, Survivor), 老年代(Old), 持久代(Permanent)
-
垃圾标记方式
-
引用计数算法
存在循环引用的无法清除的问题,简单的例子就是内部类
-
可达性分析算法
GC roots
-
-
引用的分类
强引用(strong), 软引用(soft), 弱引用(weak), 虚引用(phantom)
强引用: 不会被回收
软引用: 内存溢出之前回收
弱引用: 执行第二次垃圾回收时回收
虚引用: 直接回收
-
垃圾回收算法
-
标记-清除(mark-sweep)
容易产生内存碎片,没有用到
-
复制(copying)
新生代使用的回收算法.可能造成空间浪费,可以根据对象的存活比率设计空间的大小. 当Survivor空间不足时,可以由老年代对其进行分配担保
-
标记-整理(mark-compact)
老年代的回收算法.stop-the-world
-
-
垃圾回收器的优劣判断标准
吞吐量(throughput)
暂停时间(pause time)
G1(garbage-first)收集器的很重要的一点优势在于: 可预测的停顿
-
参考资料
Java-垃圾回收
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。