GC学习
前言
1、四大垃圾回收算法
- 引用计数
- 复制拷贝
- 标记清除
- 标记压缩整理
2、落地实现
- 串行回收:-XX:+UseSerialGC
- 并行回收:-XX:+UseParallelGC
- 并发回收:CMS(ConcurrentMarketSweep)
- G1
3、java的gc回收的类型主要有几种:
- UseSerialGC
- UseSerialOldGC
- UseParallelGC
- UseParallelOldGC
- UseConcMarkSweepGC
- UseParNewGC
- UseG1GC
看下面代码就非常清楚了
4、年轻代和老年代垃圾收集器组合使用
一、查看JVM中的默认垃圾收集器(GC)
1、命令
java -XX:+PrintCommandLineFlags -version
2、控制台打印效果
-XX:InitialHeapSize=132259456 -XX:MaxHeapSize=2116151296 -XX:+PrintCommandLineFlags -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:-UseLargePagesIndividualAllocation -XX:+UseParallelGC java version "1.8.0_121" Java(TM) SE Runtime Environment (build 1.8.0_121-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
3、目前本地安装的JDK默认使用的是并行垃圾收集器
二、查看java进程信息以及当前java进程是否开启了指定参数
1、查看当前java所有进程
格式
jps -l(可选项)
2、查看当前进程是否使用指定参数
格式
jinfo -flag 参数名 进程ID
例如
jinfo -flag UseSerialGC 1052