《深入理解Java虚拟机》:垃圾收集器与内存分配策略( 三 )
初始标记、并发标记、重新标记、并发清除 。
由于整个过程耗时最长的并发标记和并发清除过程收集器线程都可以与用户线程一起工作 , 所以 , 整体而言 , CMS收集器的内存回收过程是与用户线程并发执行的 。
G1收集器:Garbage first垃圾收集器是目前垃圾收集器理论发展的最前沿成果 , 相比与CMS收集器 , G1收集器两个最突出的改进是:
- 基于标记-整理算法 , 不产生内存碎片 。
- 可以非常精确控制停顿时间 , 在不牺牲吞吐量前提下 , 实现低停顿垃圾回收 。
内存分配jvm内存分配主要指堆内存分配 , 而且优先在Eden上分配 , 但是有以下三种情况 , 对象会进入老年代:
- 大对象直接进入老年代 , jvm提供了-XX:PretenureSizeThreshold参数 , 令大于这个设置值的对象直接在老年代分配;
- 长期存活的对象 , jvm提供了-XX:MaxTenuringThreshold参数 , 令大于这个设置值的对象从新生代晋升到老年代 , 这个参数因为是4bit , 最大值为15 , 所以说对象15次未死 , 将晋升老年代;
- surviver空间中相同年龄所有对象大小的总和大于surviver的一半 。
#程序员##JVM#
推荐阅读
- Clearbot:一款能自动在水上追踪收集垃圾的机器人
- 悔哭!一程序员误把7500个比特币当垃圾扔掉,估算约2.4亿美元
- 2.4亿美元打水漂!程序员小哥把7500个比特币当垃圾扔掉 硬盘找不回
- 心灵上的垃圾也需要清理,这六条能不能帮到你,让你不再浮躁
- 华为手机如何清理垃圾?只需4步操作,就可彻底释放手机内存空间
- 华为手机怎么清理垃圾?学会这6个小妙招,彻底释放手机内存
- 《深入理解Java虚拟机》:Java内存区域
- 垃圾箱同款蓝色的iPhone12真机翻车了
- 为啥手机会收到许多垃圾短信、骚扰电话?八成是这3个问题所导致
- jvm系列五:垃圾回收机制之对象进入老年代时机
