一. 不同的垃圾回收器,适用于不同的场景。常用的垃圾回收器:
-
串行(Serial)回收器是单线程的一个回收器,简单、易实现、效率高。
-
并行(ParNew)回收器是Serial的多线程版,可以充分的利用CPU资源,减少回收的时间。
-
吞吐量优先(Parallel Scavenge)回收器,侧重于吞吐量的控制。
-
并发标记清除(CMS,Concurrent Mark Sweep)回收器是一种以获取最短回收停顿时间为目标的回收器,该回收器是基于“标记-清除”算法实现的。
二. GC日志
在运行一个java程序时可以在命令行中加入相应的JVM垃圾回收参数,获取程序运行时详细的垃圾回收日志信息。以下是一些大概的参数:
-XX:+PrintGC与-verbose:gc 这两个命令效果都是一样,打印最基本的回收信息
-XX:+PrintGCDetails 可以打印详细GC信息至控制台
-XX:+PrintGCDateStamps 可以记录GC发生的详细时间
-Xloggc:{目录.../gc.log} 可以把GC输出至文件,这对长时间服务器GC监控
参考: https://blog.csdn.net/u014297175/article/details/75098415
图片.png 图片.png
网友评论