深入理解java虚拟机(二)

    xiaoxiao2021-03-25  82

    垃圾收集器与内存分配策略

    哪些内存需要回收?

    1、判断对象是否存活的算法

    引用计数器算法、可达性分析算法

    2、垃圾收集算法

    a、标记清楚法

    b、复制算法

    c、标记整理算法

    d、分代收集算法

    什么时候回收?

    如果对象在进行可行性分析后发现没有与GC ROOTS相连接的引用链,那它将会被第一次标记并筛选是否有必要进行finalize()方法,如果没有被finalize()覆盖或者已经被调用过一次,则可进进去等待回收队列F-Queue,由Finalizer线程执行。

    如何回收?

    垃圾收集器

    主要CMS和G1垃圾收集器

    内存分配与回收策略

    1、对象优先在新生代Eden分配,当Eden没有空间时虚拟机将进行一次Minor GC。(新生代Minor GC比老年代 Major GC频繁,因为一般新生代的对象存在时间不长)

    2、大对象直接分配在老年代。(大对象的大小由参数设置)

    3、长期存活的对象将进入老年代。(时间由参数控制)

    转载请注明原文地址: https://ju.6miu.com/read-16809.html

    最新回复(0)