图解JVM
图解JVM, 每一个JVM算法都配有详细图片.
程序员布隆
这个作者很懒,什么都没留下…
展开
-
图解JVM 对象是否存活 (三) finalize方法
解析 一. finalize的作用 finalize()是Object的protected方法,子类可以覆盖该方法以实现资源清理工作,GC在回收对象之前调用该方法。 finalize()与C++中的析构函数不是对应的。C++中的析构函数调用的时机是确定的(对象离开作用域或delete掉),但Java中的finalize的调用具有不确定性 不建议用finalize方法完成“非内存资源”的清理工作,...原创 2019-11-08 16:09:41 · 234 阅读 · 0 评论 -
图解JVM 对象是否存活 (二): 可达性分析法
解析 该方法将引用情况存储在类似于树形的结构中, 从根节点开始进行搜索, 当发现某一个对象到根节点没有路(没有引用链)的时候, 就判定为垃圾对象. 图解 总结 可达性分析法, 解决了引用计数法无法解决的循环引用的问题, 是目前主流JVM采取的判断JVM对象是否已存活的方法. ...原创 2019-11-07 18:28:40 · 237 阅读 · 0 评论 -
图解JVM 对象是否存活 (一): 引用计数法
解析 引用计数法是众多判断对象存活与否之间的一个方法. 此方法很简单, 如果有引用指向该对象, 该对象的计数器+1, 如果引用被断开(null), 计数器 -1. 此方法解决不了循环引用的问题(即A指向B, B指向A) 图解 实践 jvm参数: -verbose:gc package cn.geek51; // 引用计数方法 public class ReferenceCountingGC {...原创 2019-11-07 18:08:49 · 175 阅读 · 0 评论