JVM虚拟机:垃圾回收器组合参数设定

本文重点

前面的课程中我们介绍了目前JVM中主流的垃圾回收器,不同的回收器会有不同的组合,其中1.8版本的jdk中,默认使用的是Parallel Scavenge+Parallel Old,也就是说新生代使用Parallel Scavenge,然后老年代使用Parallel Old,这是默认的,当然我们也可以通过参数的方式进行指定,本文就介绍一下常见垃圾回收器组合参数设定。

参数

-XX:+UseSerialGC = Serial + Serial Old

新生代和老年代都使用串行化的方式,这适用于小型程序

-XX:+UseParNewGC = ParNew + SerialOld

这个组合已经很少用(在某些版本中已经废弃)

-XX:+UseConc(urrent)MarkSweepGC = ParNew + CMS + Serial Old

新生代使用ParNew,然后老年代使用CMS,当产生特别多的内存碎片的时候使用串行化的方式。

-XX:+UseParallelGC = Parallel Scavenge + Parallel Old (1.8默认)

-XX:+UseParallelOldGC = Parallel Scavenge + Parallel Old

这两个参数可以产生同样的效果,无论是新生代还是老年代都使用并行化的方式

-XX:+UseG1GC = G1

使用G1垃圾回收器

相关推荐
MacroZheng10 小时前
短短几天,暴涨2.8万Star!又一款编程神器开源!
java·人工智能·后端
SamDeepThinking10 小时前
函数式编程:用BiFunction消除多类型分支的代码重复
java·后端·面试
Flittly1 天前
【AgentScope Java新手村系列】(16)从RAG到多路检索
java·spring boot·spring
小兔崽子去哪了1 天前
Java 生成二维码解决方案
java·后端
人活一口气1 天前
从JVM调优到MCP协议:Java全栈技术体系深度总结与企业级架构实践
java·spring boot
NE_STOP1 天前
Vibe Coding -- 完整项目案例实操
java
荣码1 天前
GraphRAG:普通RAG只能回答"点"的问题,我踩了4个坑才搞懂
java·python
SimonKing1 天前
Google第三方授权登录
java·后端·程序员
明月光8181 天前
从一行 @Builder 说起:重新拾起 Java 的 Lombok、注解与 Builder 模式
java
考虑考虑2 天前
Mybatis实现批量插入
java·后端·mybatis