【GC系列】JVM垃圾定位及垃圾回收算法浅析

目录

1. 什么是垃圾
2. 如何找到垃圾
2.1. 引用计数
2.2. 根可达算法
3. 常见的垃圾回收算法
3.1. 标记清除
3.2. 拷贝算法
3.3. 标记压缩
4. 小结

1. 什么是垃圾
很简单,没有引用指向的任何对象都叫做垃圾(garbage)。

什么是garbage
在某一内存空间中,Java程序制造了很多对象被引用,有的对象还引用别的对象,中途有对象不被需要了就没有指向他的引用了,这些没有引用指向的东西就是垃圾。
这些垃圾不需要自己回收,JVM中有类似于街道上那些勤劳的环卫工的人,在帮忙回收垃圾。
2. 如何找到垃圾
那么,帮忙回收垃圾的人是如何找到垃圾的呢?JVM中一般有两种算法:
Reference Count 引用计数Root Searching 根可达算法
2.1. 引用计数
引用计数法设定给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值加1;当引用失效时,计数器值减1,引用数量为0的时候,则说明对象没有被任何引用指向,,可以认定是“垃圾”对象

【GC系列】JVM垃圾定位及垃圾回收算法浅析最先出现在Python成神之路

版权声明:
作者:主机优惠
链接:https://www.techfm.club/p/25764.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>