1、什么是垃圾回收?
堆中使用对象,但是不能一直放在那里,会占内存,所以需要垃圾回收,释放多余内存,从而保证程序的正常运行。
2、垃圾回收之前应该判断到底什么是垃圾?
堆中A,B没有别的对象引用,双方互相依赖,这样的话,两个对象永远无法被回收
从GC Roots往下追踪,如果在roots的引用链上,则表示对象是可达的,否则,表示对象不可达,对象是可以回收的
GC Roots都有哪些:
2、垃圾回收的算法
原文:https://www.cnblogs.com/zhangchiblog/p/11874359.html