JVM 垃圾回收算法
一、垃圾标记阶段的算法之引用计数算法
一、垃圾标记阶段:对象存活判断
在堆里存放着几乎所有的Java对象实例,在GC执行垃圾回收之前,首先需要区分出内存中哪些是存活对象,哪些是已经死亡的对象,只有被标记为已经死亡的对象,GC才会在执行垃圾回收时,释放掉其所占用的内存空间,因此这个过程我们可以称为垃圾标记阶段。那么JVM中究竟是如何标记一个死亡对象的呢?简单来说,当一个对象已经不再被任何的存活对象继续引用时,就可以宣判为已经死亡。判断对象存活的方式一般有两种方式:引用计数算法和 可达性分析算法。
二、方式一:引用计数算法
引用计数算法(Reference Counting)比较简单,对每个对象保存一个整数型的引用计数器属性,用于记录这个对象被引用的情况。对于一个对象A,只要有任何一个对象引用了A,则A的引用计数器就加1;当引用失效时,引用计数器就减1。只要对象A的引用计数器的值为0,即表示对象A不可能再被使
JVM 垃圾回收算法最先出现在Python成神之路。
共有 0 条评论