本文共 1648 字,大约阅读时间需要 5 分钟。
1、GC的全称:Garbage Collection 垃圾收集器,及时清除不使用的对象,释放空间内存。
2、1960年,List就使用了GC。 3、Java中,GC的对象时堆空间和永久区。1、这是一个老牌的垃圾回收算法
2、通过引用计算来回收垃圾 3、使用的语言1、标记-清除算法是现代垃圾回收算法的思想基础。
2、标记-清除算法将垃圾回收分为两个阶段:标记阶段和清除阶段。 3、一种可行的实现是,在标记阶段,首先通过根节点,标记所有从根节点开始的可达对象。因此,未被标记的对象就是未被引用的垃圾对象。然后,在清除阶段,清除所有未被标记的对象。1、标记-压缩算法适合用于存货活对象较多的场合,如老年代。它在标记-清除算法的基础上做了一些优化。
2、和标记-清除算法一样,标记-压缩算法也首先需要从根节点开始,对所有可达对象做一次标记。但之后,它并不简单的清理未标记的对象,而是将所有的存活对象压缩到内存的一端。之后,清理边界外的所有的空间。1、与标记-清除算法相比,复制算法是一种相对高效的回收方法。
2、不适用于存活对象较多的场合,如老年代。 3、将原有的内存空间分为两块,每次只适用其中一块,在垃圾回收时,将正在使用的内存中的存货的对象复制到未使用的内存块中,之后,清除正在使用内存块中的所有对象,交换两个内存的角色,完成垃圾回收。 4、复制算法的最大的问题就是:空间浪费,整合标记清理思想。1、依据对象的存活周期进行分类,短命的对象归我新生代,长命对象归为老年代。
2、根据不同代的特点,选取合适的收集算法。1、可触及的
1、根是栈中引用的对象。
2、方法区中静态成员或者常量引用的对象(全局对象) 3、JNI方法栈中引用对象。1、Stop-The-World是java中一种全局暂停的现象。
2、全局停顿,所有java代码停止,native代码可以执行,但不能喝JVM交互。 3、多半由于GC引起转载地址:http://tnfoi.baihongyu.com/