系列导航
(一) 虚拟机结构
(二) 类加载机制
(三) GC算法理解
(四) 垃圾收集器及其选择
(五) GC调优
GC调优
官网有调优参数的详解
https://docs.oracle.com/javase/8/docs/technotes/tools/windows/java.html
主要是对停顿时间和吞吐量进行调优
停顿时间:垃圾收集器做回收时,对应用程序执行进行中断服务的时长(-XX:MaxGCPauseMillis)
吞吐量:垃圾收集的时间占总时长的比例:业务执行时间 / GC时间 + 业务执行时间
- 比如使用GC Easy在线进行调优,它会根据gc日志,进行分析,提供当前运行的状态,比如停顿时间、full gc次数等,通过下列方法可以将日志输出到日志。
#打印详细的日志信息
-XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps
#打印日志信息,并输出到文件
-XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xloggc:filename
- 在使用时,可以这样使用
java -jar -XX:+PrintGCDetails -Xloggc:./gc.log temp.jar
- idea的话,直接编辑配置,在虚拟机选项中进行配置即可