• Minor GC和Full GC区别(转)


    http://blog.csdn.net/u010796790/article/details/52213708
     
    概念:
    •  新生代 GC(Minor GC):指发生在新生代的垃圾收集动作,因为 Java 对象大多都具
      备朝生夕灭的特性,所以 Minor GC 非常频繁,一般回收速度也比较快。
    •  老年代 GC(Major GC  / Full GC):指发生在老年代的 GC,出现了 Major GC,经常
      会伴随至少一次的 Minor GC(但非绝对的,在 ParallelScavenge 收集器的收集策略里
      就有直接进行 Major GC 的策略选择过程) 。MajorGC 的速度一般会比 Minor GC 慢 10
      倍以上。
    Minor GC触发机制:
    当年轻代满时就会触发Minor GC,这里的年轻代满指的是Eden代满,Survivor满不会引发GC
    Full GC触发机制:

    年老代满时会引发Full GC,Full GC将会同时回收年轻代、年老代,

    永久代满时也会引发Full GC,会导致Class、Method元信息的卸载

    其中Minor GC如下图所示

    虚拟机给每个对象定义了一个对象年龄(Age)计数器。如果对象在 Eden 出生并经过第一次 Minor GC 后仍然存活,并且能被 Survivor 容纳的话,将被移动到 Survivor 空间中,并将对象年龄设为 1。对象在 Survivor 区中每熬过一次 Minor GC,年龄就增加 1 岁,当它的年龄增加到一定程度(默认为 15 岁)时,就会被晋升到老年代中。对象晋升老年代的年龄阈值,可以通过参数 -XX:MaxTenuringThreshold (阈值)来设置。

  • 相关阅读:
    3、看源码MVC中的Controllr的Json方法
    2、MVC+IOC容器+ORM结合
    1、看源码MVC如何实例化控制器?
    6、UnityConfig实现AOP
    5、动态代理AOP实现-DynamicProxy模式
    1、面向切面编程
    通过js看类似C#中的回掉
    C#新开一个线程取到数据,如何更新到主线程UI上面
    2.C#自定义Attribute
    1.C#中几个简单的内置Attribute
  • 原文地址:https://www.cnblogs.com/hadoop-dev/p/7204757.html
Copyright © 2020-2023  润新知