一 点睛
-XX:+PrintcommandLineFlags:查看命令行相关参数(包含使用的垃圾收集器)
使用命令行指令:jinfo -flag 相关垃圾回收器参数 进程ID
二 代码
/**
* -XX:+PrintCommandLineFlags
*/
public class GCUseTest {
public static void main(String[] args) {
ArrayList<byte[]> list = new ArrayList<>();
while (true) {
byte[] arr = new byte[100];
list.add(arr);
try {
Thread.sleep(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
三 JDK 8
1 运行结果
-XX:InitialHeapSize=250603712 -XX:MaxHeapSize=4009659392 -XX:+PrintCommandLineFlags -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:-UseLargePagesIndividualAllocation -XX:+UseParallelGC
2 控制台测试
E:\JVMDemo>jps
2384
15636 GCUseTest
9604 Launcher
12120 RemoteMavenServer36
15608 Jps
E:\JVMDemo>jinfo -flag UseParallelGC 15636
-XX:+UseParallelGC
E:\JVMDemo>jinfo -flag UseParallelOldGC 15636
-XX:+UseParallelOldGC
四 JDK 9
1 运行结果
D:\ProgramFiles\Java\jdk-9\bin\java.exe -XX:+PrintCommandLineFlags -javaagent:D:\ProgramFiles\JetBrains\IDEA\lib\idea_rt.jar=50715:D:\ProgramFiles\JetBrains\IDEA\bin -Dfile.encoding=UTF-8 -classpath E:\JVMDemo\out\production\chapter17 com.atguigu.java.GCUseTest
-XX:G1ConcRefinementThreads=8 -XX:InitialHeapSize=250603712 -XX:MaxHeapSize=4009659392 -XX:+PrintCommandLineFlags -XX:ReservedCodeCacheSize=251658240 -XX:+SegmentedCodeCache -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseG1GC -XX:-UseLargePagesIndividualAllocation
2 控制台测试
E:\JVMDemo>jps
2384
5044 Jps
12120 RemoteMavenServer36
3564 GCUseTest
4668 Launcher
E:\JVMDemo>jinfo -flag UseG1GC 3564
-XX:+UseG1GC
E:\JVMDemo>jinfo -flag UseParallelGC 3564
-XX:-UseParallelGC
E:\JVMDemo>jinfo -flag UseParallelOldGC 3564
-XX:-UseParallelOldGC