GV算法及分区

GV的算法有标记-清除算法、标记-整理算法、复制算法、分代算法;
对于那些对象可以回收,有引用计数法和可达性分析算法
对于引用计数法存在的弊端是:对于互相引用的两个对象,不能进行回收

标记-清除算法---对于可回收的对象及位置清除
标记-整理算法---对于可回收的对象回收后,且整理出连续的可用空间
复制算法---对于可用对象,复制到另外一块区域,并清空内存
分代算法---对于新生代,使用标记-清除算法或者标记-整理算法,对于老年代使用复制算法;

内存区域分为:程序计数器、虚拟机栈、本地方法栈、堆、方法区
其中回收的地方是:虚拟机栈、堆、方法区

新生代用于对象回收快、多次无法回收的对象转到老年代;再细分的话,新生代再细分,分为:Eden区、from survivor、to survivor区,其中from 和to 会交互角色;
分代的主要原因是优化GC性能。

你可能感兴趣的:(GV算法及分区)