GC 策略

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

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

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

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

GC的选择

官方推荐,需要根据应用的实际情况进行选择。在选择之前必须要对应用的堆大小、收集频率进行估算。

使用SerialGC的场景:
1、如果应用的堆大小在100MB以内。
2、如果应用在一个单核单线程的服务器上面,并且对应用暂停的时间无需求。
使用ParallelGC的场景:
如果需要应用在高峰期有较好的性能,但是对应用停顿时间无高要求(比如:停顿1s甚至更长)。
使用G1、CMS场景:
1、对应用的延迟有很高的要求。
2、如果内存大于6G请使用G1。

你知道哪些或者你们线上使用什么GC策略? 它有什么优势,适用于什么场景?相关推荐

  1. 教育平台的线上课程智能推荐策略

    题目来自:http://www.tipdm.org 一. 背景 近年来,随着互联网与通信技术的高速发展,学习资源的建设与共享呈现出 新的发展趋势,各种网课.慕课.直播课等层出不穷,各种在线教育平台和学 ...

  2. 教育平台的线上课程智能推荐策略-Python

    1 背景 近年来,随着互联网与通信技术的高速发展,学习资源共享与建设呈现出新的发展趋势,多样化的线上教育平台如雨后春笋般争相涌入大众视野.尤其是自2020年初,受新冠肺炎疫情的冲击,学生返校进行线下 ...

  3. 通过btrace排查线上频繁Full GC的case

    概述 又是一次因为线上报警机制开启的排查问题之旅.某日,钉钉机器人疯狂报警: 接着就是申请机器权限去排查问题,既然是频繁Full GC,那我们排查问题的思路就应该是找到引起Full GC的原因.引起频 ...

  4. LiveVideoStack线上分享第五季(一):企业视频会议场景下的流量分发和弱网优化...

    严峻的疫情之下,远程办公成为了企业实现高效复工的必然选择,众多视频会议平台在特殊环境下也开始提供短期免费开放及功能升级服务.疫情将远程办公推上了风口的同时,也为这些平台的运作带来了更多的挑战.今晚 1 ...

  5. 通过btrace排查线上频繁Full GC的case 1

    概述 又是一次因为线上报警机制开启的排查问题之旅.某日,钉钉机器人疯狂报警: 接着就是申请机器权限去排查问题,既然是频繁Full GC,那我们排查问题的思路就应该是找到引起Full GC的原因.引起频 ...

  6. 线上环境频繁GC问题排查,Finalizer对象该背这个锅吗?

    问题描述 公司的一个SpringMVC服务,最近在做运维检查的时候发现young gc 和 full gc太频繁,远远超过了正常情况.服务器配置是4核8G,该服务分配了6G内存.通过arthas的da ...

  7. VR线上虚拟展厅,为企业带来的优势:

    (1) 真实3D环境:VR在线虚拟展厅利用计算机图形学技术,把三维图像的形式创建虚拟空间,并运用虚拟现实技术实现交互,让游客有身临其境的视觉和影响力: (2) )"多媒体元素真实互动&quo ...

  8. 市面上的智能电表都有多少安的?适用于那些场景?

    随着智能化技术的快速发展,智能电表已经成为了家庭和公寓物业配电系统的必备设备之一.智能电表的功率等级通常为10A或15A,具体取决于电表型号和用途.那么,这些功率等级的智能电表适用于哪些场景呢? 首先 ...

  9. 方程组的直接解法和迭代法 python_基于任务驱动的翻转课堂线上教学 ——以《解二元一次方程组复习课》为例...

    基于任务驱动的翻转课堂线上教学 --以<解二元一次方程组复习课>为例 1 线上教学案例设计前的思考 疫情期间,一家长群对一元一次方程和二元一次方程组进行了讨价还价,认为学个知识点还收起费来 ...

最新文章

  1. B/S和C/S的区别
  2. SharePoint中文WiKi
  3. centos6.5 源码安装php7
  4. Entrust是一种为Laravel5添加基于角色的权限的简洁而灵活的方法。
  5. java变量命名规则_C++变量的命名规则
  6. 编程基本功:如何拆分一个大函数
  7. 向iPhone模拟器中添加视频
  8. 廊坊金彩教育:店铺装修怎么更吸引客户
  9. java poco_DTO与POCO
  10. Fc=70M,Fs=102.4M,B=40M的线性调频信号Matlab实现
  11. Dell730xd服务器与IntelX520万兆网卡兼容性问题解决过程
  12. 使用html表格标签做一份简历表
  13. 人类实体瘤临床细胞状态和生态系统图谱(EcoTpyer)
  14. google api设计指南-简介
  15. [转][RabbitMQ+Python入门经典] 兔子和兔子窝
  16. php写动物的属性,状物的记叙文类型——描述动物
  17. 使用反射判断对象的值是否为空并赋新值操作
  18. 可能与不可能的边界:P/NP问题趣史
  19. 怎么把xml文件到url post方法 android,如何在android中使用http post发送xml文件.我把xml文件放在代码中...
  20. 微博时光机定时发送微博

热门文章

  1. 配置接口IP地址并通过静态路由、默认路由配置实现全网互通!
  2. 鲜为人知的另一面?比尔·盖茨被曝猛料!
  3. websocket 爬虫
  4. DeepFM:深度学习算法助力华为应用市场APP推荐
  5. 无迹卡尔曼滤波UKF_代码及调参(2)
  6. 如何看待自己正在遭受的挫折?
  7. 微信尝试刷掌支付;苹果 WWDC 将于 6 月 6 日开幕;Qt Creator 10 发布|极客头条
  8. Federated learning for drone authentication
  9. 8寸7寸触摸屏常见的故障问题和维修方法分别是什么?
  10. 《机器学习实战》(七)-- LinearRegression