什么是老生代的标记算法
https://blog.csdn.net/ooppookid/article/details/51523853
1、什么是老生代的标记算法
了解堆内存看这里:java堆内存是什么样的
了解java垃圾回收看这里:java垃圾回收机制是什么
所谓标记算法(Mark),分为多种,最简单直观的即标记-清除算法(Mark-Sweep)。即将认定为可回收的内存做一个标记,然后统一将被标记的清理,算法图解如下:
算法过程:
1. 先判定对象是否可回收,对其标记。
2. 统一回收(简单地删除对垃圾对象的内存引用)。
标记-清除算法十分简单直观,且容易实现和理解。但是有一个很严重的问题,内存空间碎片化,这显然是不能接收的,所以Java对老生代的垃圾处理采用的是标记-紧凑算法。
2、什么是老生代的标记-紧凑算法
所谓标记-紧凑算法(Mark-Compact),即在标记-清除算法的基础上,增加了碎片整理这一步,算法图解如下:
算法过程:
- 标记:标记可回收对象(垃圾对象)和存活对象。
- 紧凑(也称“整理”):将所有存活对象向内存开始部位移动,称为内存紧凑(相当于碎片整理)。
- 清理剩余内存空间。
可以看出,内存的碎片整理虽然会损失一定的效率,但是大大减少了内存的碎片化程度,更有利于内存的使用和分配。
什么是老生代的标记算法相关推荐
- 【JVM】四种GC算法(分代收集+三种标记算法)
目录 参考文章 四种GC算法 分代收集算法(理论) 标记清除算法 标记整理算法 标记复制算法 三种算法的优缺点 参考文章 JVM的4种垃圾回收算法.垃圾回收机制与总结_我是guyue,guyue就是我 ...
- JVM 新生代老生代
堆大小 = 新生代 + 老年代.默认下,新生代 ( Young ) = 1/3 的堆空间大小,老年代 ( Old ) = 2/3 的堆空间大小: 新生代 ( Young ) 被细分为 Eden 和 两 ...
- Java新生代 与老生代
堆大小 = 新生代 + 老年代.默认下,新生代 ( Young ) = 1/3 的堆空间大小,老年代 ( Old ) = 2/3 的堆空间大小: 新生代 ( Young ) 被细分为 Eden 和 两 ...
- 闲谈JVM(二):浅析新老生代参数配置
文章目录 前言 Heap区新老生代 新生代参数配置 NewSize MaxNewSize Xmn NewRatio SurvivorRatio 新生代的GC 老生代参数配置 对象何时进入老生代? 老生 ...
- 新生代、老生代垃圾收集器总结
1. 新生代回收器:Serial(单线程).ParNew(Serial收集器的多线程版本).Parallel Scavenge(新生代并行收集器,追求最大吞吐量): 2. 老年代回收器:Serial ...
- Java-JVM虚拟机内存垃圾回收机制gc入门:引用类型,对象标记算法,回收算法,常见的 garbage collector
文章目录 GC的优缺点 引用的四种类型 对象标记算法 引用计数法 可达性分析法 回收算法 标记-清除算法(Mark-Sweep) 复制算法 标记-整理算法(Mark-Compact) 分代收集算法 常 ...
- 再谈GC1:GC简介,分代与回收算法
说明:在本文中, Garbage Collection 翻译为 "垃圾收集", garbage collector 翻译为 "垃圾收集器";一般认为, 垃圾回收 ...
- 堆及新生代老生代(学习笔记)
来自颜群老师的JVM课程 小结 新生代特点 大部分对象都存在新生代 新生代的回收频率高,效率高 老生代特点 空间大,增长速度慢 垃圾回收频率低 划分新老生代的意义 可以根据项目中对象大小的数量,设置新 ...
- jvm_2_新生代老生代含义
题眼: JVM使用的是分代垃圾回收的方式,可以将Java对象分为"年轻"对象和"年老"对象. JVM将内存堆(Heap)分为两个区域,一个是"年轻&q ...
最新文章
- 华为,再牵手一流大学
- Nginx —— configure的命令参数(nginx编译选项)
- Android逆向基础----Android Dalvik虚拟机
- 学习C#以及C还有数据库
- ubuntu出现HWE问题
- [C#.NET 拾遗补漏]14:使用结构体实现共用体
- boost库中mutex、condition_variable与mutex::scoped_lock联合使用实现线程之间的通信
- Android权限管理原理,Android手机Root授权原理细节全解析
- 若依集成knife4j实现swagger文档增强
- Java优先队列 Priority Queue
- docker从C盘迁移到E盘
- ppt倒计时3分钟_老板发来200页PPT文件,让我翻译成英文,3分钟教你搞定
- 直线检测原理matlab,Hough变换 直线检测原理及其Matlab实现
- 使用PDFObject添加将本地磁盘pdf文件在前端页面展示
- Java正则表达式工具类(持续更新)
- 2021年美容师(初级)报名考试及美容师(初级)最新解析
- 简单聊聊什么是Sass、Pass和Iass?
- FIPS 140-3与140-2的差异-2
- 淘宝移动转型复盘:技术扮演重要角色
- echart 热搜词云(字符云)的制作以及遇到颜色不会随即变得bug
热门文章
- 痞子衡嵌入式:对比恩智浦全系列MCU(包含Kinetis/LPC/i.MXRT/MCX)的GPIO电平中断设计差异...
- c#被指定为此窗体的 MdiParent 的窗体不是 MdiContainer
- unity技术补全计划
- [野狐行网游研究][二期][8.21更新]
- 应届生面试紧张试试这几个方法
- win xp32位系统安装mysql详细步骤
- 【TarDAL红外与可见光图像融合论文笔记】
- Stata:DID入门教程
- -bash: /home/alex: 是一个目录
- NLTK(3)处理文本、分词、词干提取与词形还原