垃圾收集器及日志

一. 不同的垃圾回收器,适用于不同的场景。常用的垃圾回收器:

  1. 串行(Serial)回收器是单线程的一个回收器,简单、易实现、效率高。

  2. 并行(ParNew)回收器是Serial的多线程版,可以充分的利用CPU资源,减少回收的时间。

  3. 吞吐量优先(Parallel Scavenge)回收器,侧重于吞吐量的控制。

  4. 并发标记清除(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

垃圾收集器及日志_第1张图片
图片.png
垃圾收集器及日志_第2张图片
图片.png

你可能感兴趣的:(垃圾收集器及日志)