JVM的垃圾回收器

其实这篇文章我应该不会细说。。就大概说说。

先来个介绍

说起垃圾收集器  (GC) 大部分人会把他当做java语言伴生的产物,然而并不是O(∩_∩)O哈,它比java更久远,这并不难理解,因为其他语言也是要回收垃圾的啊。。

既然是自动回收那么他就得确认应该回收什么,首先就是不在调用的对象,就是对象是否“死去”。对于这个有很多种处理方式,引用计数法就是其中一种,就是查看别的地方是否引用它,引用就加1没引用就减一。虽然效率不错,但是存在问题,就是两个对象相互引用,那么检测的时候永远也不为0,这样便无法回收这段内存。然后大佬们就想到了另一种方法,可达性分析算法,就是有一个root节点来建立一棵树,每个对象都是下面的一个个节点,如果不可达那么就能确认对象已经死亡。

垃圾收集算法

第一个就位标记-清除算法,通过名应该就能大致猜到应该是什么样子,缺点就是效率不是很理想。

猜你喜欢

转载自blog.csdn.net/diaoxiadezidan/article/details/89343056