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

相关推荐
毕设源码-邱学长5 小时前
【开题答辩全过程】以 基于Java的学校住宿管理系统的设计与实现为例,包含答辩的问题和答案
java·开发语言
rookieﻬ°5 小时前
PHP框架漏洞
开发语言·php
炸膛坦客6 小时前
单片机/C/C++八股:(二十)指针常量和常量指针
c语言·开发语言·c++
兑生6 小时前
【灵神题单·贪心】1481. 不同整数的最少数目 | 频率排序贪心 | Java
java·开发语言
daidaidaiyu6 小时前
一文学习 Spring 声明式事务源码全流程总结
java·spring
炸膛坦客8 小时前
单片机/C/C++八股:(十九)栈和堆的区别?
c语言·开发语言·c++
零雲8 小时前
java面试:了解抽象类与接口么?讲一讲它们的区别
java·开发语言·面试
Jay_Franklin8 小时前
Quarto与Python集成使用
开发语言·python·markdown
2401_831824968 小时前
代码性能剖析工具
开发语言·c++·算法
Oueii8 小时前
Django全栈开发入门:构建一个博客系统
jvm·数据库·python