JVM垃圾回收器-ParNew回收器:并行回收

news/2024/11/13 3:31:17/

文章目录

  • 学习资料
  • 垃圾回收器
    • ParNew回收器:并行回收


学习资料

【尚硅谷宋红康JVM全套教程(详解java虚拟机)】
【阿里巴巴Java开发手册】https://www.w3cschool.cn/alibaba_java
JDK 8 JVM官方手册

垃圾回收器

ParNew回收器:并行回收

如果说Serial GC是年轻代中的单线程垃圾收集器,那么ParNew收集器则是Serial收集器的多线程版本。
Par是Parallel的缩写,New:只能处理的是新生代。

ParNew收集器除了采用并行回收的方式执行内存回收外,两款垃圾收集器之间几乎没有任何区别。ParNew收集器在年轻代中同样也是采用复制算法、“Stop-the-Worl”机制。

ParNew是很多JVM运行在Server模式下新生代的默认垃圾收集器。

在这里插入图片描述
对于新生代,回收次数频繁,使用并行方式高效。
对于老年代,回收次数少,使用串行方式节省资源。(CPU并行需要切换线程,串行可以省去切换线程的资源)

由于ParNew收集器是基于并行回收,那么是否可以断定ParNew收集器的回收效率在任何场景下都会比Serial收集器更高效?
1、ParNew收集器运行在多CPU的环境下,由于可以充分利用多CPU、多核心等物理硬件资源优势,可以更快速地完成垃圾收集,提升程序的吞吐量。
2、但是在单个CPU的环境下,ParNew收集器不比Serial收集器更高效。虽然Serial收集器是基于串行回收,但是由于CPU不需要频繁地做任务切换,因此可以有效避免多线程交互过程中产生的一些额外开销。

因为除Serial外,目前只有ParNew GC能与CMS收集器配合工作。

在程序中,开发人员可以通过选项“-XX:+UseParNewGC”手动指定使用ParNew收集器执行内存回收任务。它表示年轻代使用并行收集器,不影响老年代。

-XX:ParallelGCThreads限制线程数量,默认开启和CPU数据相同的线程数。


http://www.ppmy.cn/news/8963.html

相关文章

网络编程概述

作者:~小明学编程 文章专栏:JavaEE 格言:热爱编程的,终将被编程所厚爱。 目录 网络编程嵌套字 UDP DatagramSocket API DatagramPacket API InetSocketAddress API 基于UDP实现服务端 代码: 分析:…

蓝桥杯寒假集训第五天(子串分值和)

没有白走的路,每一步都算数🎈🎈🎈 题目描述: 输入一个字符串,然后计算所有连续子串中没有重复字母的个数 输入描述: 第一行: 一个字符串 输出描述: 所有子串中没有…

14---实现文件上传和下载(头像上传功能)

1、建Files表 接下来开始完成文件管理的内容,首先是数据库建Files表 DROP TABLE IF EXISTS file;CREATE TABLE file (id int(11) NOT NULL AUTO_INCREMENT COMMENT id,name varchar(255) DEFAULT NULL COMMENT 文件名称,type varchar(255) DEFAULT NULL COMMENT 文…

数字调制系列:如何理解IQ ?

最近在筹划写一系列关于数字IQ 调制的短文,以帮助初学者能够更好地理解和掌握。虽然IQ 调制技术已经非常广泛地应用于各种无线通信应用中,但是究其细节,仍有很多人存在疑惑,尤其对于初学者。作者从事测试工作多年,对IQ…

深入理解Linux网络:第三章-内核是如何与用户进程协作的

本章主要讲用户进程接收并处理数据,主要是介绍,同步阻塞和多路IO复用方案。 同步阻塞 一个进程维护一个链接,同时为了等待数据到来需要阻塞进程,还要切换进程上下文。 创建Socket进入内核态,开始 recv data没有当前s…

代码随想录算法训练营No7 |LeetCode454.四数相加II 383. 赎金信15. 三数之和18. 四数之和

哈希表2今天开始哈希表第二天做题&#xff0c;今天感觉有点难度&#xff01; 454.四数相加II 给你四个整数数组 nums1、nums2、nums3 和 nums4 &#xff0c;数组长度都是 n &#xff0c;请你计算有多少个元组 (i, j, k, l) 能满足&#xff1a; 0 < i, j, k, l < nnums…

Java 并发编程知识总结【五】

6. 线程中断与 LockSupport 6.1 线程中断机制 大厂&#xff08;蚂蚁金服&#xff09;面试题&#xff1a; 什么是中断&#xff1f; 首先&#xff0c;一个线程不应该由其他线程来强制中断或停止&#xff0c;而是应该由线程自己自行停止。所以&#xff0c;Thread.stop, Thread.…

阴道菌群——贯穿女性一生

阴道微生物组是一个复杂而动态的微生态系统&#xff0c;在女性月经周期和女性的一生中不断发生波动。 在过去几年中&#xff0c;对阴道微生物群关注随着测序技术的发展和应用逐渐广泛和突出&#xff0c;有关以往传统正常和异常阴道微生物组的知识也发生了变化。培养技术可能不再…