首页 > 其他分享 >Serial,Parallel,CMS,G1四大GC收集器特点小结

Serial,Parallel,CMS,G1四大GC收集器特点小结

时间:2023-02-16 17:14:31浏览次数:53  
标签:G1 收集器 回收 并发 GC 垃圾 JVM

1.Serial收集器
一个单线程的收集器,在进行垃圾收集时候,必须暂停其他所有的工作线程直到它收集结束。
特点:CPU利用率最高,停顿时间即用户等待时间比较长。
适用场景:小型应用
通过JVM参数-XX:+UseSerialGC可以使用串行垃圾回收器。

2.Parallel收集器(java8默认)
采用多线程来通过扫描并压缩堆
特点:停顿时间短,回收效率高,对吞吐量要求高。
适用场景:大型应用,科学计算,大规模数据采集等。
通过JVM参数 XX:+USeParNewGC 打开并发标记扫描垃圾回收器。

3.CMS收集器
采用“标记-清除”算法实现,使用多线程的算法去扫描堆,对发现未使用的对象进行回收。
(1)初始标记
(2)并发标记
(3)并发预处理
(4)重新标记
(5)并发清除
(6)并发重置
特点:响应时间优先,减少垃圾收集停顿时间
适应场景:服务器、电信领域等。
通过JVM参数 -XX:+UseConcMarkSweepGC设置

4.G1收集器(java9默认)
在G1中,堆被划分成 许多个连续的区域(region)。采用G1算法进行回收,吸收了CMS收集器特点。
特点:支持很大的堆,高吞吐量
  --支持多CPU和垃圾回收线程
  --在主线程暂停的情况下,使用并行收集
  --在主线程运行的情况下,使用并发收集
实时目标:可配置在N毫秒内最多只占用M毫秒的时间进行垃圾回收
通过JVM参数 –XX:+UseG1GC 使用G1垃圾回收器

标签:G1,收集器,回收,并发,GC,垃圾,JVM
From: https://www.cnblogs.com/zenghansen/p/17127419.html

相关文章

  • Hystrix + OpenFeign+ SpringCloud +Nacos
      注意:2023年2月 springcloud最新版本不支持nacos2.2和hystrix,测试发现以下这个版本还支持<groupId>org.springframework.cloud</groupI......
  • linux系统(centos7)安装gcc命令包(解压缩版)
    linux系统(centos7)安装gcc命令包(解压缩版)一、如果执行gcc–version出现以下信息,表示已经安装过gcc,可以跳过该步骤:[boco@CDH-143spark_job_monitor]$gcc--versiongcc......
  • jmeter的阶梯式加压性能测试 jp@gc - Stepping Thread Group (deprecated)
    当测试需求要求是阶梯型的压力测试场景时,使用该线程组。比如测试场景是  从100并发开始,每60s加压50并发,直至达到目的并发数(中途发现问题随时停掉),之后保持每60s停止50......
  • 阶梯场景jp@gc - Stepping Thread Group (deprecated)
    1、新建线程,添加配置元件、监听器  由上可见:需要启动100个线程,然后间隔30s就持续5s去启动10个线程,那么就需要这样重复操作10次,才能100个线程全部启动。最后整体10......
  • LC 2447. Number of Subarrays With GCD Equal to K
    2447.NumberofSubarraysWithGCDEqualtoK思路与题解最大公约数,Euclideanalgorithms算法证明:如果我们有2个数:\(a\)和\(b\),不妨假设\(a>b\),当不能整除的情......
  • CICD流水线 Jenkins搭建 及构建后端SpringCloud项目
    一、CICD在CI/CD和DevOps领域中,持续交付和持续部署是一个老生常谈的话题。持续集成这个术语最早是在1994年由GradyBooch提出。微服务提出者MartinFlower在2014年发表的......
  • OpenFeign 4.0.1+SpringCloud3.0.x+Consul集群
    介绍OpenFeignopenFeign是工作在客户端可与其他注册发现管理服务器整合(eureka,zookeeper,consul,nacos等)功能上替代了restTemplate,本身集成Ribbon有负载均衡功能,在形式......
  • springcloud之配置中心config
    1、指定读取的配置路径配置在application.yml文件里面server:port:${SERVER_PORT:10102}spring:application:name:configprofiles:active:${PR......
  • springcloud项目搭建遇到问题记录
    1.&yml文件配置Facets(表述了在Module中使用的各种各样的框架、技术和语言。这些Facets让IntellijIDEA知道怎么对待module内容,并保证与相应的框架和语言保持一致。)添加spri......
  • springcloud微服务搭建demo
    软件版本IDEA2022.3.1<兼容maven3.8.1及之前的所用版本>JDK1.8_64Maven3.8.2本demo只使用了服务发现与注册、Feign调用及负载均衡。不涉及熔断与......