1、cms 主要用于年老代垃圾回收

2、这玩意牺牲通吐量换取最短垃圾回收时间

3、有的地方说是四个阶段,有的地方说五个阶段,还有六个阶段的,真相是————我也不知道

四个阶段:

Initial mark

Concurrent mark

Remark

Concurrent Sweep

五个阶段

Inital Mark

Concurrent Mark

Remark

Concurrent Sweep

Concurrent Reset

六个阶段

Inital Mark

Concurrent Mark

Concurrent Preclean

Remark

Concurrent Sweep

Concurrent Reset

4、默认使用CMS,捎带ParNewGC新生代回收

5、缺点:耗内存,耗CPU,没Compact,容易产生大量碎片

6、适用范围:年老代对象比较大

7、参数调节:

-XX:CMSInitiatingOccupancyFaction

-XX:  CMSInitiatingOccupancyOnly

6、Concurrent-Mark-Sweep的更多相关文章

  1. Gson序列化问题导致的内存溢出,tip:Background sticky concurrent mark sweep GC freed

    问题原因,如果在json model里面放了非可序列化的对象就会导致这中问题,可序列化的就是那些基础数据类型和集合类型,如果在里面放个Android的Activity或者adapter这类类型字段,变 ...

  2. Reference Counting GC (Part two :Partial Mark & Sweep)

    目录 部分标记清除算法 前提 dec_ref_cnt()函数 new_obj()函数 scan_hatch_queue()函数 paint_gray()函数 scan_gray()函数 collect ...

  3. 45、concurrent.futures模块与协程

    concurrent.futures  —Launching parallel tasks    concurrent.futures模块同时提供了进程池和线程池,它是将来的使用趋势,同样我们之前学习 ...

  4. 35、concurrent.futures模块与协程

    concurrent.futures  —Launching parallel tasks    concurrent.futures模块同时提供了进程池和线程池,它是将来的使用趋势,同样我们之前学习 ...

  5. Mark Sweep GC

    目录 标记清除算法 标记阶段 深度优先于广度优先 清除阶段 分配 First-fit.Best-fit.Worst-fit三种分配策略 合并 优点 实现简单 与保守式GC算法兼容 缺点 碎片化 分配速 ...

  6. 1. GC标记-清除算法(Mark Sweep GC)

    世界上第一个GC算法,由 JohnMcCarthy 在1960年发布. 标记-清除算法由标记阶段和清除阶段构成. 标记阶段就是把所有的活动对象都做上标记的阶段. 标记阶段就是"遍历对象并标记 ...

  7. Python 线程池模块threadpool 、 concurrent.futures 的 ThreadPoolExecutor

    一.threadpool   基本用法 pip install threadpool pool = ThreadPool(poolsize) requests = makeRequests(some_ ...

  8. JVM内存结构、参数调优和内存泄露分析

    1. JVM内存区域和参数配置 1.1 JVM内存结构 Java堆(Heap) Java堆是被所有线程共享的一块内存区域,在虚拟机启动时创建.此内存区域的唯一目的就是存放对象实例,几乎所有的对象实例都 ...

  9. JVM七大垃圾回收器上篇Serial、ParNeW、Parallel Scavenge、 Serial Old、 Parallel Old、 CMS、 G1

    GC逻辑分类 垃圾收集器没有在规范中进行过多的规定,可以由不同的厂商.不同版本的JVM来实现. 由于JDK的版本处于高速迭代过程中,因此Java发展至今已经衍生了众多的GC版本. 从不同角度分析垃圾收 ...

  10. JVM常见的七种垃圾收集器的简单比较

    1.Serial收集器曾经是虚拟机新生代收集的唯一选择,是一个单线程的收集器,在进行收集垃圾时,必须stop the world,它是虚拟机运行在Client模式下的默认新生代收集器. 2.Seria ...

随机推荐

  1. Filter

    一.Filter简介 Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有 web资源:例如Jsp, Servlet, 静 ...

  2. Ubuntu 修改 ssh 登录后的欢迎信息

    /etc/update-motd.d/90-updates-available cd /etc/update-motd.d/ vi 10-help-text 修改或者注释掉里面的内容 vi 90-up ...

  3. Ios8代码关闭输入预测问题

    自IOS8出来了输入预测问题后,有些问题也就来了比如textfield中输入邮箱的话,就会有很多空格无法去掉,当时我一直在找有没有提供什么方法可以关闭:后面有这样的一个属性可以解决输入邮箱没有空格问题 ...

  4. App的启动过程

    App的启动过程 所有的app都是通过launcher去启动的 launcher自己也是一个app,一个系统级别的app,放在asystem/app/下,使用系统签名. 对代码进行分析

  5. jQuery.first() 函数

    first() 函数详解 函数 获取当前对象的第一个元素 语法 $selector.first() 返回值 返回值为一个对象 实例说明 代码 <!DOCTYPE html><html ...

  6. bootstrap-table填坑之旅<一>认识bootstrap-table

    应公司需求,改版公司ERP的数据显示样式.由于前期开发的样式是bootstrap,所以选bootstrap-table理所当然(也是因为看了bootstrap-table官网的example功能强大, ...

  7. node.js学习笔记(二)

    1.接受参数:get 和 post login.html <form action="./login" method="get"><!--me ...

  8. SQL Server Reporting Service(SSRS) 第一篇 我的第一个SSRS例子

    很早就知道SQL SERVER自带的报表工具SSRS,但一直没有用过,最近终于需要在工作中一展身手了,于是我特地按照自己的理解做了以下总结: 1. 安装软件结构 SSRS全称SQL Server Re ...

  9. 一张图看懂单机/集群/热备/磁盘阵列(RAID)

  10. django学习记录--第一个网页“hello django”

    一.安装django 下面两种方法任选其一 1.pip或easy_install 安装 pip install django easy_install django 2.到django官网(https ...