java gc 触发条件_jvm 什么情况下会触发minor gc

展开全部

当 JVM 无法为一个新的对象分配空间时会触发 Minor GC。

虚拟机在进行minorGC之前会判断老年代最大的可用连续空间是否32313133353236313431303231363533e78988e69d8331333433626465大于新生代的所有对象总空间

1、如果大于的话,直接执行minorGC

2、如果小于,判断是否开启HandlerPromotionFailure,没有开启直接FullGC

3、如果开启了HanlerPromotionFailure, JVM会判断老年代的最大连续内存空间是否大于历次晋升的大小,如果小于直接执行FullGC

4、如果大于的话,执行minorGC

Minor GC是新生代GC,指的是发生在新生代的垃圾收集动作。由于java对象大都是朝生夕死的,所以Minor GC非常频繁,一般回收速度也比较快。

java gc 触发条件_jvm 什么情况下会触发minor gc_第1张图片

扩展资料:

Java虚拟机本质上就是一个程序,当它在命令行上启动的时候,就开始执行保存在某字节码文件中的指令。Java语言的可移植性正是建立在Java虚拟机的基础上。任何平台只要装有针对于该平台的Java虚拟机,字节码文件(.class)就可以在该平台上运行。

引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。

你可能感兴趣的:(java,gc,触发条件)