Major GC和Full GC的区别是什么?触发条件

2021-01-12 12:33:15 字数 2381 阅读 5013

1楼:匿名用户

你好,关于major gc和full gc的区别是什么呢?

full gc定义是相对明确的,就是针对整个新生代、老生代、元空间(metaspace,java8以上版本取代perm gen)的全局范围的gc;

minor gc和major gc是俗称,在hotspot jvm实现的serial gc, parallel gc, cms, g1 gc中大致可以对应到某个young gc和old gc算法组合;

搞清楚了上面这些组合,我们再来看看各类gc算法的触发条件。

简单说,触发条件就是某gc算法对应区域满了,或是**快满了。比如,

各种young gc的触发原因都是eden区满了.

条件,minor gc 执行时暂停的时间将会长很多。

所以 minor gc 的情况就相当清楚了——每次 minor gc 会清理年轻代的内存。

major gc vs full gc

大家应该注意到,目前,这些术语无论是在 jvm 规范还是在垃圾收集研究**中都没有正式的定义。但是我们一看就知道这些在我们已经知道的基础之上做出的定义是正确的,minor gc 清理年轻带内存应该被设计得简单:

major gc 是清理永久代。

full gc 是清理整个堆空间—包括年轻代和永久代。

很不幸,实际上它还有点复杂且令人困惑。首先,许多 major gc 是由 minor gc 触发的,所以很多情况下将这两种 gc 分离是不太可能的。另一方面,许多现代垃圾收集机制会清理部分永久代空间,所以使用“cleaning”一词只是部分正确。

这使得我们不用去关心到底是叫 major gc 还是 full gc,大家应该关注当前的 gc 是否停止了所有应用程序的线程,还是能够并发的处理而不用停掉应用程序的线程。

希望对你有帮助

major gc和full gc的区别是什么?触发条件

2楼:匿名用户

你好,关于major gc和full gc的区别是什么呢?

full gc定义是相对明确的,就是针对整个新生代、老生代、元空间(metaspace,java8以上版本取代perm gen)的全局范围的gc;

minor gc和major gc是俗称,在hotspot jvm实现的serial gc, parallel gc, cms, g1 gc中大致可以对应到某个young gc和old gc算法组合;

搞清楚了上面这些组合,我们再来看看各类gc算法的触发条件。

简单说,触发条件就是某gc算法对应区域满了,或是**快满了。比如,

各种young gc的触发原因都是eden区满了.

条件,minor gc 执行时暂停的时间将会长很多。

所以 minor gc 的情况就相当清楚了——每次 minor gc 会清理年轻代的内存。

major gc vs full gc

大家应该注意到,目前,这些术语无论是在 jvm 规范还是在垃圾收集研究**中都没有正式的定义。但是我们一看就知道这些在我们已经知道的基础之上做出的定义是正确的,minor gc 清理年轻带内存应该被设计得简单:

major gc 是清理永久代。

full gc 是清理整个堆空间—包括年轻代和永久代。

很不幸,实际上它还有点复杂且令人困惑。首先,许多 major gc 是由 minor gc 触发的,所以很多情况下将这两种 gc 分离是不太可能的。另一方面,许多现代垃圾收集机制会清理部分永久代空间,所以使用“cleaning”一词只是部分正确。

这使得我们不用去关心到底是叫 major gc 还是 full gc,大家应该关注当前的 gc 是否停止了所有应用程序的线程,还是能够并发的处理而不用停掉应用程序的线程。

希望对你有帮助

3楼:缪玉枝愚莺

区别:1)minor

gc触发机制:

当年轻代满时就会触发minor

gc,这里的年轻代满指的是eden代满,survivor满不会引发gc

2)full

gc触发机制:

当年老代满时会引发full

gc,full

gc将会同时**年轻代、年老代,

当永久代满时也会引发full

gc,会导致class、method元信息的卸载

4楼:勾遐思局绫

区别:1)minor

gc触发

机制:当年来轻代满时就会触发minor

gc,这里的年轻代满指的是eden代满,survivor满不源会引发gc

2)full

gc触发机制:

当年老代满时会引发full

gc,full

gc将会同时**年轻代、年知老代,道

当永久代满时也会引发full

gc,会导致class、method元信息的卸载

非条件反射和条件反射的区别和联系是什么

1楼 白若琪是只猫 动物先天的反射,称为非条件反射。 条件反射后天获得的,在一定条件下以非条件反射为基础建立的反射。 非条件反射和条件反射的区别? 2楼 拱广英沐珍 人的高级神经冲动 是条件反射 低级神经冲动是非条件反射 条件反射的神经中枢在大脑皮层,非条件反射的神经中枢在大脑皮层以下中枢 脊髓等 ...

角接触轴承c和Ac的区别,角接触轴承AC和A、C有什么区别?

1楼 匿名用户 ac 角接触球轴承,公称接触角a 25 。例如 7210ac c 角接触球轴承,公称接触角a 15 。例如 7005c 接触角越大,则承受轴向载荷的能力高,但高速性随之变差。 角接触轴承ac和a c有什么区别 2楼 匿名用户 ac是国产轴承的代号 ,接触角为25度受轴向力和径向力 a...

什么是硬件和软件,软件和硬件的区别?

1楼 匿名用户 硬件 主机 主要部分 输出设备 显示器 输入设备 键盘和鼠标 三大件组成。而主机是电脑的主体 在主机箱中有 主板 cpu 内存 电源 显卡 声卡 网卡 硬盘 软驱 光驱等硬件。其中 主板 cpu 内存 电源 显卡 硬盘是必须的 只要主机工作 这几样缺一不可。 一般来讲软件被划分为 2...