摘要:
JVM通过GC来回收堆和方法区中的内存,GC的基本原理首先会找到程序中不再被使用的对象,然后回收这些对象所占用的内存。1.收集器 通常采用收集器的方式实现GC,主要的收集器有引用计数收集器和跟踪收集器。 1.1引用计数收集器 引用计数收集器采用的是分散式的管理方式,通过计数器记录对象是否被引用。当计数器为零时,说明此对象已经不再被使用,于是可进行回收。引用计数需要在每次对象赋值时进行引用计数器的增减,它有一定的消耗。另外,引用计数器对于循环引用的场景没有办法实现回收。 1.2跟踪收集器 跟踪收集器采用的集中式的管理方式,全局记录数据的引用状态。基于一定条件的触发(例如定时、空间不足),执行时需 阅读全文