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

CodeCipherMaster
• 阅读 694

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

Serial Old垃圾收集器

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

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

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

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

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

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

Parallel Old

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

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

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

点赞
收藏
评论区
推荐文章
灯灯灯灯 灯灯灯灯
3年前
阿里面试被问到【垃圾回收器】,不会怎么办??
垃圾回收器GC分类与性能指标垃圾回收器概述1.垃圾收集器没有在规范中进行过多的规定,可以由不同的厂商、不同版本的JVM来实现。2.由于JDK的版本处于高速迭代过程中,因此Java发展至今已经衍生了众多的GC版本。3.从不同角度分析垃圾收集器,可以将GC分为不同的类型。Java不同版本新特性1.语法层面:Lambda表达式、switch、
Wesley13 Wesley13
3年前
java GC算法 垃圾收集器
GC算法垃圾收集器概述垃圾收集GarbageCollection通常被称为“GC”,它诞生于1960年MIT的Lisp语言,经过半个多世纪,目前已经十分成熟了。jvm中,程序计数器、虚拟机栈、本地方法栈都是随线程而生随线程而灭,栈帧随着方
Wesley13 Wesley13
3年前
java 虚拟机 收集器 总结
java虚拟机收集器总结|垃圾收集器|新生代|老年代|jvm参
从原理聊JVM(一):染色标记和垃圾回收算法
本篇介绍了JVM中垃圾回收器相关的基础知识,后续会深入介绍CMS、G1、ZGC等不同垃圾收集器的运作流程和原理,欢迎关注。
Wesley13 Wesley13
3年前
JAVA面试考点解析(11)
9、解释内存中的栈(stack)、堆(heap)和方法区(methodarea)的用法。答:通常我们定义一个基本数据类型的变量,一个对象的引用,还有就是函数调用的现场保存都使用JVM中的栈空间;而通过new关键字和构造器创建的对象则放在堆空间,堆是垃圾收集器管理的主要区域,由于现在的垃圾收集器都采用分代收集算法,所以堆空间还可以细分为新生代和老生代,
Stella981 Stella981
3年前
JVM参数说明介绍
1.JVM运行时数据区内存参数说明!(https://oscimg.oschina.net/oscnet/051d0ecafbef225b7b495ff43f6aec3173d.png)2.JVM垃圾收集器参数总结!(https://oscimg.oschina.net/oscnet/c2d0b716ad17c45ae776caa
Stella981 Stella981
3年前
JVM优化
堆内存设置?原理?JVM堆内存分为2块:PermanentSpace和HeapSpace。?Permanent即持久代(PermanentGeneration),主要存放的是Java类定义信息,与垃圾收集器要收集的Java对象关系不大。?Heap{OldNEW{Eden,from,to}},Old即
Stella981 Stella981
3年前
JVM系列篇:7种JVM垃圾收集器特点,优劣势、及使用场景
本系列会持续更新。!(https://oscimg.oschina.net/oscnet/945dbe48630eb4284fea936b19161c0f08a.jpg)今天继续JVM的垃圾回收器详解,如果说垃圾收集算法是JVM内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。一、常见的垃圾收集器
Stella981 Stella981
3年前
JVM参数及调优
调优基本概念在调整JVM性能时,通常有三个组件需要考虑:1.堆大小调整2.垃圾收集器调整3.JIT编译器大多数调优选项都与调整堆大小和选择合适的垃圾收集器有关,JIT编译器对性能也有很大影响,但很少需要对其进行调优,尤其是针对较新版本的JVM。通常,在进行Java程序调优的时候,会重点关注两个主要指标:响应
Stella981 Stella981
3年前
JVM回收器与调优
定义:使用编程语言将GC算法实现出来,产生的程序就是垃圾搜集器了JVM给了三种选择:串行收集器、并行收集器、并发收集器串行搜集器(serialcollector):它只有一条GC线程,且就像前面说的,它在运行的时候需要暂停用户程序(stoptheworld)。并行搜集器(parallelcollector):它有多
Stella981 Stella981
3年前
JVM笔记(4)
第三章垃圾收集器和内存分配策略  第三节垃圾收集算法   1.分类:引用计数式垃圾收集(直接垃圾收集) 和追踪式垃圾收集(间接垃圾收集)   2.分代收集理论:1)弱分代假说:主要是一些朝生夕灭的对象。                 2)强分代假说:这里是一些可以熬过多次垃圾收集器收集的
CodeCipherMaster
CodeCipherMaster
Lv1
不必恭维不必讨好爱你的人自会给你拥抱
文章
3
粉丝
0
获赞
0