JVM垃圾回收算法
标记:找到不能被作为垃圾回收的对象并标记。标记的对象保留,未被标记的对象作为垃圾释放。
标记清除法
标记:将一定不能被回收的根对象作为GC Root对象,从根对象出发,沿着它的引用链找当前对象有没有被根对象引用到。若是则不能被回收,加标记。若否,则不加标记,GC时释放掉。
清除:有标记则保留,没有标记则释放。
缺点:
标记整理法(用于老年代的垃圾回收)
标记清除的基础上多了整理阶段。
整理:移动未被清除的对象朝一端靠拢,避免了内存碎片的问题。
缺点:
标记复制法(用于新生代的垃圾回收)
缺点:
占用了一份额外的内存。