当前位置: 首页 > 编程笔记 >

简单分析java中CMS回收器

姚兴安
2023-03-14
本文向大家介绍简单分析java中CMS回收器,包括了简单分析java中CMS回收器的使用技巧和注意事项,需要的朋友参考一下

CMS(Concurrent Mark Sweep)回收器

它使用的是标记清除算法,同时又是一个使用多线程并行回收的垃圾回收器。

CMS主要工作步骤

CMS工作时主要步骤有初始标记、并发标记、预清理、重新标记、并发清除和并发重置。其中初始标记和重新标记是独占系统资源的,而预清理、并发标记、并发清除和并发重置是可以和用户线程一起执行的。因此它可以在应用程序运行过程中进行垃圾回收。

根据标记清除算法,初始标记、并发标记和重新标记都是为了标记出需要回收的对象。并发清理则是在标记完成后,正是回收垃圾对象。并发重置是指在垃圾回收完成后,重新初始化CMS数据结构和数据,为下一次垃圾回收做好准备。

在整个CMS回收过程中,默认情况下,在并发标记之后,会有一个预清理的操作(也可以设置参数-XX:CMSPrecleaningEnabled,不进行预清理)。预清理是并发的,除了为正式清理做准备和检查以外,预清理还会尝试控制一次停顿时间。由于重新标记是独占CPU的,如果新生代GC发生后立即触发一次重新标记,那么一次停顿时间可能很长。为了避免这种情况,预清理时,会可以等待一次新生代GC的发生,然后根据历史性能数据预测一下新生代GC可能发生的时间,然后在当前时间和预测时间的中间时刻,进行重新标记。这样,最大程度上避免新生代GC和重新标记重合,尽可能减少一次停顿时间。

CMS主要参数设置

-XX:+UseConcMarkSweepGC启用CMS回收器

-XX:ConcGCThreads 设置并发线程数量

-XX:CMSInitiatingOccupancyFraction 设置当老年代使用率达到N时,执行一次CMS回收。

-XX:+UseCMSCompactAtFullCollection CMS在垃圾收集完成后,进行一次碎片整理。

-XX:CMSFullGCsBeforeCompaction 设置当进行N次CMS回收后进行一次内存压缩。

-XX:+CMSClassUnloadingEnabled 使用CMS机制回收Perm区Class数据

 类似资料:
  • 温馨提示:项目已停止维护。 主要修改: 1)增加文章模块,文章列表显示在首页和单品页中; 2)增加店铺模块,店铺显示在首页和瀑布流页中; 3)增加网站地图模块; 4)增加sitemap模块; 5)增加第三方淘宝登录功能; 6)增加专辑封面功能; 7)整合UC用户系统; 8)修改用户注册登录名对汉字的验证规则; 9)修改分享描述为宝贝详情,且展示在商品标签下方; 10)修改焦点图展示规则; 11)修

  • 1.CMS介绍 CMS(Concurrent Mark-Sweep)(并发 标记-清除)是以牺牲吞吐量为代价来获得最短回收停顿时间的垃圾回收器。对于要求服务器响应速度的应用上,这种垃圾回收器非常适合。在启动JVM参数加上-XX:+UseConcMarkSweepGC ,这个参数表示对于老年代的回收采用CMS。CMS采用的基础算法是:标记—清除。 是标记清除算法的落地实现的垃圾回收器。 2.CMS过

  • N简单CMS能够让网站开发者更快速、灵活、简单的开发网站。 N简单CMS有以下特点: 更简单和自由的模板标签调用 专注于人性化的管理和操作 基于完全php5框架Kohana2.3.4开发 资源调用和消耗更低,执行速度更快,承载压力更强 插件开发更简单,调用机制灵活 方便的后台自定义字段,满足一般客户需求 简单的备份恢复 开源并基于GPL2协议发布,你可以自由的免费使用,阅读和修改源代码.

  • CMS 垃圾回收器是Concurrent Mark Sweep,是一种同步的标记-清除,CMS分为四个阶段: 初始标记,标记一下GC Root能直接关联到的对象,会触发“Stop The World”; 并发标记,通过GC Roots Tracing判断对象是否在使用中; 重新标记,标记期间产生对象的再次判断,执行时间较短,会触发“Stop The World”; 并发清除,清除对象,可以和用户线

  • 本文向大家介绍SqlServer2012中First_Value函数简单分析,包括了SqlServer2012中First_Value函数简单分析的使用技巧和注意事项,需要的朋友参考一下 First_Value返回结果集中某列第一条数据的值,跟TOP 1效果一样,比较简单的一个函数 先贴测试用代码 下边使用FIRST_VALUE函数,创建一列新列,返回结果集中第一行的LastName值,这个所谓的

  • 本文向大家介绍对python中的xlsxwriter库简单分析,包括了对python中的xlsxwriter库简单分析的使用技巧和注意事项,需要的朋友参考一下 一、xlsxwriter 基本用法,创建 xlsx 文件并添加数据 官方文档:http://xlsxwriter.readthedocs.org/ xlsxwriter 可以操作 xls 格式文件 注意:xlsxwriter 只能创建新文件