当前位置:   article > 正文

JVM 垃圾回收

JVM 垃圾回收

serial 串行 它为单线程环境设计,且只使用一个线程进行垃圾回收,会暂停所有用户线程,所以不适合服务器环境。
parallel 并行 多个垃圾收集线程并行工作,此时用户线程是暂停的,适用于科学计算/大数据处理等弱交互场景。
CMS 并发 用户线程和垃圾收集线程同时执行(不一定是并行,可能交替执行),不需要停顿用户线程,互联网公司多用它,适用于对响应时间有要求的场景。
G1 将堆内存分割成不同的区域,然后并发的对其进行垃圾回收

// 查看默认垃圾收集器

java -XX:+PrintCommandLineFlags -version
  • 1

Young Gen Serial Copying Parllel Scavenge ParNew
-------------------------------------------------------------------------------------G1
Old Gen Serial MSC(Serial Old) Parllel Compacting(Parallel Old) CMS

新生代
串行GC (Serial、Serial Copying) -XX:+UseSecrialGC
并行GC(ParNew) -XX:+UseParNewGC 只影响新生代,不影响老年代
并行回收GC(Parallel、Parallel Scavenge) -XX:+UseParallelGC || -XX:+UseParallelOldGC(可相互激活) 串行收集器在新生代和老年代的并行化

老年代
串行GC(Serial Old 、Serial MSC(不推荐使用))
并行GC(Parallel Old 、Parallel MSC)
并发标记清除GC (CMS) -XX:+UseConcMarkSweepGC 自动打开 -XX:+UseParNewGC 是一种以获取最短回收停顿时间为目标的收集器。希望停顿时间最短。适合内存大,cpu核数多的服务器端应用。(初始标记,并发标记,重新标记,并发清除)

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号