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垃圾回收器

相关推荐
数聚天成DeepSData11 小时前
外贸海关进出口数据去哪免费下载?从统计到明细的查找指南
linux·服务器·开发语言·前端·网络·人工智能·自然语言处理
再卷也是菜11 小时前
C++11支持并发库
开发语言·c++
SamDeepThinking11 小时前
现场重构一段代码,展示什么叫「好代码,都在表达自己的意图」
java·后端·程序员
Lhan.zzZ11 小时前
QML 开发中的“陷阱”:动态模型更新时,ComboBox 索引为何总是失效?
开发语言·qt
小园子的小菜11 小时前
Java 并发四大工具类深度解析:CountDownLatch、CyclicBarrier、Semaphore、Exchanger 原理、源码与面试考点
java·开发语言·面试
搭贝低代码11 小时前
设备管理系统迁移改造:从手工台账到二维码数字化的实践路径
java·低代码·搭贝
前端双越老师11 小时前
Nest.js 和 Spring Boot 为何如此像?写给前端转 Java 的同学
java·spring boot·全栈
河西石头11 小时前
再谈C#的抽象类和接口:从“适配器”到“毛坯房”的设计哲学
开发语言·c#·接口·依赖注入·抽象类·依赖倒挂
JL1512 小时前
Java+Go 混合架构怎么搭?收官 50 道面试题 + 学习路线
java·架构·golang
颜x小12 小时前
[C#]——接口与继承
开发语言·c++·c#