摘要:
强软弱虚,是 Java 中比较主流的四种引用。(多念念,就顺口了) 从这四种引用的作用来看(接下来你会看到),引用,与对象的存活密不可分。也许正是因为有了 JVM 的垃圾收集器,才有了这四种引用。 我觉得直接看四种引用的概念比较好: 强引用;无论何时,只要有强引用关系的对象,都不会被垃圾回收器回收掉 阅读全文
摘要:
前面介绍了垃圾回收器几个方面的内容: 如何标记垃圾 如何处理垃圾 那么还有什么问题要解决呢? 既然是自动垃圾回收,那么自动是什么情况呢? 在我看来,自动主要来自两个方面: 当我们年轻代、老年代内存不足时,触发某种条件,进行垃圾收集 还有一个就是我们接下来说的安全点、安全区域 安全点 为什么要有安全点 阅读全文
摘要:
前面介绍了如何去识别和标记垃圾,现在主要介绍,如何去回收(处理、删除)这些垃圾? 你也许会想,找到了直接删掉不就行了吗? 恭喜你,已经学会了一个很重要的算法。 标记-清除(Mark-Sweep) 标记-清除算法,主要分为两个步骤,标记 和 清除。标记,就使用之前说过的 可达性分析算法,即可进行标记。 阅读全文
摘要:
这里介绍的垃圾回收相关算法,主要解决的问题: 判断哪些内存是垃圾(需要回收的)? 常用的两种算法: 引用计数 可达性分析(GC Root) 首先介绍算法前,得定义: 如何判断一个对象的死亡? 我们一般这样定义:当一个对象不再被任何存活的对象继续引用的时候,这个对象就死亡了。 引用计数 引用计数算法, 阅读全文