怎么查看服务器默认的垃圾收集器:
E:\ideaProjects\suanfa>java -XX:+PrintCommandLineFlags -version
-XX:InitialHeapSize=132345856 -XX:MaxHeapSize=2117533696 -XX:+PrintCommandLineFlags -XX:+UseCompressedOops -XX:-UseLargePagesIndividualAllocation -XX:+UseParallelGC
java version "1.7.0_75"
Java(TM) SE Runtime Environment (build 1.7.0_75-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.75-b04, mixed mode)
-XX:+UseParallelGC 查看结果是 默认并行垃圾回收器
-XX:+UseSerialGC 配置使用串行垃圾回收器
JVM 默认的垃圾收集器有哪些:
UseSerialGC
UseParallelGC
UseConcMarkSweepGC
UseParNewGC
UsePapallelOldGC
UseG1GC
上图中的young区的垃圾回收器 和 old取得垃圾回收器连线 表示,young区垃圾回收器和old垃圾回收器的默认组合
一些单词:
DefNew - - - Default New Generation
Tenured - - - Old
ParNew - - - Parallel New Generation
PSYoungGen - - - Parallel Scavenge
ParOldGen - - - Parallel Old Generation
JVM server / client 模式是什么意思?
32为windows,默认都是用Client的JVM模式;32位其他操作系统,2G内存同时有2个CPU以上用server模式,低于该配置还是用client模式
64位 只有server模式
C:\Users\wangteng>java -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
垃圾回收器:
新生代:
串行GC(Serial / Serial Copying):
最古老、最稳定、效率高,没有线程交互的开销可以获得最高的单线程垃圾收集效率,是JVM在client模式下默认的新生代垃圾收集器
-XX:+UseSerialGC
Heap
def new generation total 39424K, used 1402K [0x0000000081c00000