垃圾回收算法:引用计数法,标记清除法,标记压缩法,复制算法,分代算法
引用计数法:原理:每个对象内置一个整形计数器,一个对象A,被其他对象引用则,整形计数器+1,当引用失效则-1,当对象A的引用计数为0,则对象就可以被回收
缺点:1,无法处理循环引用,java虚拟机未使用;2,引用计算器在每次引用产生和消除的时候,需要伴随一个加减操作,对系统性能会有一定影响。
标记清除法:原理:分两阶段:标记阶段,清除阶段。标记阶段:从根结点开始,标记可达的对象,未被标记的对象就是未被引用的垃圾对象;清除阶段:清除所有未被标记的对象。
缺点:回收后的空间是不连续的,在堆上给大对象分配空间时,不连续的内存空间效率较低
复制算法:原理:将内存分为两块,每次只使用其中一块,在垃圾回收时,将正在使用的内存中存活的对象复制到未使用的内存块中,之后,清除正在使用的内存中的所有对象,交换两个内存的jue se