IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> JVM-垃圾收集算法 -> 正文阅读

[数据结构与算法]JVM-垃圾收集算法

总:垃圾收集算法分为“引用计数式垃圾收集”(Reference Counting GC)和“追踪式垃圾收集”(Tracing GC)。或称为直接垃圾收集和间接垃圾收集。主流java虚拟机用Tracing GC。

三种算法:标记-清除,标记-复制,标记-整理。

在分代收集中:

  • 新生代:每次收集都会有大量对象死去,所以可以选择复制算法
  • 老年代:对象存活几率高,而且没有额外的空间对它进行分配担保,所以我们必须选择“标记-清除”或“标记-整理”算法进行垃圾收集。因为移动是一个风险动作,移动必须暂停用户应用应用程序才能进行。

一. 标记-清除:标记出所有需要回收的对象,标记完成后统一回收所有被标记的。(也可以反过来标记存活的对象)标记过程是判断对象是否少垃圾的过程。它是最基础的收集算法,后续的算法都是改进它的缺点得到的。

1.缺点:

  • 效率问题:如果很多对象,要进行大量标记和清除
  • 空间问题(标记清除后会产生大量不连续的碎片)

二.标记-复制(加快了效率,但是缩小了一半内存):将内存分为大小相同的两块,每次使用其中的一 块。当这一块的内存使用完后,就将还存活的对象复制到另一块去,然后再把使用的空间一次清理掉。 这样就使每次的内存回收都是对内存区间的一半进行回收。

应用:1.商用java虚拟机用这个来回收新生代(因为存活对象少),因为朝生夕灭的特点,不用1:1比例来划分新生代

2.优化后的Appel式回收:Serial和ParNew采用这种新生代内存布局

新生代:eden区:Survivor(s0区、s1区)=8:1(新生代可用空间为90%)

老年代:tentired 区。

每次分配内存只用Eden和一块Survivor。发生垃圾收集时,将eden和Survivor中存活的对象复制到另一块Survivor区。然后清理掉eden和用过的survivor。如果另一块survivor不够用了,就凭借分配担保将对象放进老年代。分配担保就像去银行借款,信誉好,他就会借你。

三.标记-整理(存活对象多时用这个):让所有存活的对象向一端移动,然后清理掉端边界以外的内存

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-12-02 17:01:12  更:2021-12-02 17:03:13 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 14:27:19-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码