以下哪种语法是建议JVM执行垃圾回收的正确语法?( )
System.setGarbageCollection();
System.out.gc();
System.gc();
System.free();
一、手工触发FullGC方式
触发FullGC可以通过代码,也可以通过工具,下面简单介绍一下主要的方式
1、通过代码
#1
System.gc();
#2
Runtime.getRuntime().gc();
二、通过工具
#1 jmap
jmap -histo:live <pid>
此命令会先执行一次FullGC,然后把存活类的对象的数量和占用的空间,按从大到小的顺序排列出来。
#2 jcmd
jcmd <pid> GC.run
#3 使用JConsole或 Java Mission Control
这2个工具实际上也是执行的jcmdGC.run命令。
通过代码触发的方式需要写代码,用起来不方便,推荐使用工具的方式。
触发FullGC可以通过代码,也可以通过工具,下面简单介绍一下主要的方式
1、通过代码
#1
System.gc();
#2
Runtime.getRuntime().gc();
二、通过工具
#1 jmap
jmap -histo:live <pid>
此命令会先执行一次FullGC,然后把存活类的对象的数量和占用的空间,按从大到小的顺序排列出来。
#2 jcmd
jcmd <pid> GC.run
#3 使用JConsole或 Java Mission Control
这2个工具实际上也是执行的jcmdGC.run命令。
通过代码触发的方式需要写代码,用起来不方便,推荐使用工具的方式。