1.特点
年轻代和老年代的垃圾回收都会触发 STW 事件。
在年轻代使用 标记-复制(mark-copy)算法,在老年代使用 标记-清除-整理(mark-sweepcompact)算法。
-XX:ParallelGCThreads=N 来指定 GC 线程数, 其默认值为 CPU 核心数。 并行垃圾收集器适用于多核服务器,主要目标是增加吞吐量。因为对系统资源的有效使用,能达到 更高的吞吐量:
• 在 GC 期间,所有 CPU 内核都在并行清理垃圾,所以总暂停时间更短;
• 在两次 GC 周期的间隔期,没有 GC 线程在运行,不会消耗任何系统资源
2.参数配置
java -Xmx1g -Xms1g -XX:-UseAdaptiveSizePolicy -XX:-UseSerialGC -jar gateway-server-0.0.1-SNAPSHOT.jar
3.并行 Parallel 与并发 Concurrent 的区别?
两者都是多线程运行,不同的是,并行Parallel在GC期间所有的CPU内核都用来做垃圾回收,暂停了业务线程;而并发 Concurrent在GC期间大部分时候和应用线程一起执行,不影响业务线程的连续执行。