专栏首页JVMGCJVM老年代垃圾收集器Serial Old和Parallel Old
原创

JVM老年代垃圾收集器Serial Old和Parallel Old

image-20201109212219872

Serial Old垃圾收集器

老年代垃圾收集器,与Serial一样,是一个单线程垃圾收集器,不同的是用的算法不一样(标记-整理)

image-20201110082318285

根据老年代的特点,有人设计了标记-整理(Mark Compact)算法,标记过程和标记-清除算法一样,但是后续步骤不是直接对可回收对象进行清理,而是让存活对象向一端移动,然后清除掉边界以外的内存,如下图所示。

img

复制算法在对象存活比较高的老年代需要复制大量的对象,效率将会贬低,如果不想浪费50%的内存,就需要有额外的空间进行分配担保,以应对对象100%都存活的极端情况,所以老年代并不适用复制算法

复制收集算法在对象存活率较高时就要进行较多的复制操作,效率将会变低。更关键的是,如果不想浪费50%的空间,就需要有额外的空间进行分配担保,以应对被使用的内存中所有对象都100%存活的极端情况,所以在老年代一般不能直接选用这种算法。

Parallel Old

老年代收集器,是Parallel Scavenge老年代版本,用的算法是标记-整理,在JDK1.6提供,多线程收集

image-20201110082244415
wx.jpg

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • JVM - 再聊GC垃圾收集算法及垃圾收集器

    当前虚拟机的垃圾收集都采用分代收集算法 , 意思就是根据对象存活周期的不同将 java堆分为新生代和老年代,这样就可以根据各个年代的特点选择合适的垃圾收集算法。

    小小工匠
  • 一文理清JVM和GC 【第二弹】

    程序在垃圾回收上花费了98%的时间,却收集不会2%的空间。 假如不抛出GC overhead limit,会造成:

    蔡不菜丶
  • JVM-垃圾收集器

    本篇主要介绍一下JVM的几种垃圾收集器。其示意图如下所示,上面的三个是新生代的收集器, 下面三个是老年代的收集器,其中G1收集器是可以用于新生代和老年代的收集工...

    小小科
  • Hotspot JVM垃圾回收器

      前两篇《JVM入门——运行时数据区》《JVM常见垃圾回收算法》所提到的实际上JVM规范以及常用的垃圾回收算法,具体的JVM实现实际上不止一种,有JRocki...

    用户1148394
  • 【JVM进阶之路】七:垃圾收集器盘点

    在前面,我们已经了解了JVM的分代收集,知道JVM垃圾收集在新生代主要采用标记-复制算法,在老年代主要采用标记-清除和标记-整理算法。接下来,我们看一看JDK默...

    三分恶
  • JVM复习笔记

    young generation-------serial, parnew, parallel scavenge tenured gencration-----...

    陈灬大灬海
  • 深入浅出java虚拟机系列:(三)jvm常用垃圾收集器

    上面有7中收集器,分为两块,上面为新生代收集器,下面是老年代收集器。如果两个收集器之间存在连线,就说明它们可以搭配使用。

    爱笑的架构师
  • JVM第二弹

    当前主流的VM垃圾收集都采用“分代收集“算法,这种算法会根据对象存活周期的不同将内存划分为几块,

    趣学程序-shaofeer
  • Java虚拟机详解(四)------垃圾收集器

      上一篇博客我们介绍了Java虚拟机垃圾回收,介绍了几种常用的垃圾回收算法,包括标记-清除,标记整理,复制等,这些算法我们可以看做是内存回收的理论方法,那么在...

    IT可乐
  • 《深入理解 Java 虚拟机》学习 -- 垃圾收集器

    Parallel Scavenge 收集器的目标是达到一个可控制的吞吐量。而 CMS 等收集器的关注点则是尽可能地缩短垃圾收集时用户线程的停顿时间。

    希希里之海
  • JVM垃圾收集

    目录 内存区域回顾 机制介绍 收集器介绍 调优 内存区域回顾 ? 垃圾回收机制 Java 对象生命周期 ? 根搜索算法 ? ? 从GC Roots对象为起点,...

    囚兔
  • JVM面试问题系列:7种JVM垃圾收集器特点,优劣势、及使用场景!

    Serial 是一款用于新生代的单线程收集器,采用复制算法进行垃圾收集。Serial 进行垃圾收集时,不仅只用一条线程执行垃圾收集工作,它在收集的同时,所有的用...

    zhisheng
  • 5种JVM垃圾收集器特点和8种JVM内存溢出原因

    Serial 是一款用于新生代的单线程收集器,采用复制算法进行垃圾收集。Serial 进行垃圾收集时,不仅只用一条线程执行垃圾收集工作,它在收集的同时,所有的用...

    程序员追风
  • Jvm垃圾回收器(终结篇)

    第一篇《Jvm垃圾回收器(基础篇)》主要讲述了判断对象的生死?两种基础判断对象生死的算法、引用计数法、可达性分析算法,方法区的回收。在第二篇《Jvm垃圾回收器(...

    爱撸猫的杰
  • JVM GC杂谈之理论入门

    GC杂谈之理论入门 ---- JVM堆布局介绍 ​ JVM堆被划分成两个不同的区域:新生代 ( Young )、老年代 ( Old )。新生代 ( Young ...

    SecondWorld
  • 垃圾回收器 Krains 2020-08-07

    高吞吐量较好因为这会让应用程序的最终用户感觉只有应用程序线程在做“生产性”工作。直觉上,吞吐量越高程序运行越快。

    Krains
  • JVM底层知识备忘

    jeremyxu
  • JVM(HotSpot) 垃圾收集器

    java404
  • 垃圾收集器详解及参数配置

    client模式下默认的垃圾收集器组合,可通过-XX:+UseSerialGC强制开启。非常适合运行于客户端PC的小型应用程序,或者桌面应用程序(比如swing...

    ydymz

扫码关注云+社区

领取腾讯云代金券