目录


引用计数法

原理

优缺点

标记清除法

原理

优缺点

标记压缩算法

原理

优缺点

复制算法

原理

JVM年轻代内存空间

优缺点

分代算法

总结


自动化的管理内存资源,垃圾回收机制必须要有一套算法来进行计算,哪些是有效的对象,哪些是无效的对象,对于无效的对象就要进行回收处理。

常见的垃圾回收算法有:引用计数法、标记清除法、标记压缩法、复制算法、分代算法等。

引用计数法

原理

优缺点

标记清除法

标记清除算法也叫根可达算法。在垃圾回收器执行过程中会暂停所有的工作线程。

原理

优缺点

标记压缩算法

原理

优缺点

复制算法

原理

将存活对象从from区复制到to区:

清空from区,并且将to区的存活对象移动到from区,相当于颠倒一下位置:

JVM年轻代内存空间

使用的就是复制算法:

优缺点

分代算法

总结

目前还没有一种完美的垃圾回收算法,每一种算法既有优点又有缺点,因此根据垃圾回收对象的特点进行选择,才是最明智的选择。

分代算法就是如此(因地制宜),根据回收对象的特点进行选择:

在JVM中,年轻代适合使用复制算法,因为垃圾对象较多;

老年代适合使用标记清除或者标记压缩算法,因为垃圾较少,存活对象较多。

JVM 调优实战--垃圾回收的常见算法相关推荐

  1. JVM调优(二)垃圾回收算法

    原文出处: pengjiaheng 可以从不同的的角度去划分垃圾回收算法: 按照基本回收策略分 引用计数(Reference Counting): 比较古老的回收算法.原理是此对象有一个引用,即增加一 ...

  2. 纯手写2022年最新JVM调优实战手册,看完让你精通JVM调优

    很多程序员不重视 JVM 内存调优,写出来的代码经常出现 OOM 等内存问题.而且,面试求职者中,很多求职者一旦遇到JVM 或者 JVM 调优方面的问题,往往不知如何回答,才能充分展现自己的能力. j ...

  3. JVM调优实战:to-space exhausted Evacuation Failure

    一次线上dubbo问题的定位,进行JVM调优实战. 问题 线上dubbo接口provider抛出异常: org.apache.dubbo.rpc.RpcException: Failfast invo ...

  4. 七、JVM调优实战——基本命令使用

    一.JVM类加载机制--自定义类加载器 二.JVM--对象内存分配机制 三.JVM内存模型 四.JVM垃圾收集算法和垃圾收集器 五.CMS垃圾回收器--三色标记算法 六.G1垃圾收集器 七.JVM调优 ...

  5. jvm 垃圾回收(常见算法介绍)

    1. 什么是垃圾回收? 程序的运行必然申请内存资源,如果无效的对象不清理一直占用资源,那么肯定会导致内存溢出,所以内存资源的管理就很重要了 2. 垃圾回收的常见算法 2.1. 引用计数法 2.1.1 ...

  6. JVM 调优和垃圾回收器说明

    转载自   JVM 调优和垃圾回收器说明 JVM垃圾收集算法 JVM垃圾收集算法有四种:标记-清除算法.复制算法.标记-整理算法.分代收集算法 标记-清除算法: 该算法如同它的名字一样,分为两个阶段: ...

  7. a*算法的优缺点_垃圾回收的常见算法

    垃圾回收的常见算法 2.1 引用计数法 2.1.1 原理 2.1.2 优缺点 2.2 标记清除法 2.2.1 原理 2.2.2 优缺点 2.3 标记压缩算法 2.3.1 原理 2.3.2 优缺点 2. ...

  8. Java工程师必备:JVM原理、内存模型、调优、垃圾回收机制、面试题

    在如今这个时间和知识都是碎片化的时代,C站根据C1-C4认证的成长路径,进行知识细化整理,形成系统化的知识图谱. 通过调研一线互联网大厂的招聘JD,小编对标C站能力认证要求,为大家整理了系列技术干货合 ...

  9. jvm性能调优 - 03垃圾回收机制

    文章目录 Pre 对象的分配与引用 一个方法执行完毕之后会怎么样? 不再需要的那些对象应该怎么处理?--GC 思考题 Pre 上一篇文章给大家分析了JVM中的几块内存区域分别都是干什么的,今天的文章就 ...

最新文章

  1. 解题报告 - 牛客练习赛63 C - 牛牛的揠苗助长(货仓选址+二分)
  2. pytorch maxpool和卷积尺寸问题
  3. 《Javascript高级程序设计》读书笔记之对象创建
  4. AppWidget应用(一)---创建一个appWidget
  5. ZoomBlur 聚焦模糊效果Shader(URP)
  6. 职称计算机还用考试,职称计算机考试注意事项
  7. python操作sqlite3 导入csv文件_[转载]SQLite 3导入导出成txt或csv操作
  8. 感知哈希算法原理与实现
  9. Oracle GoldenGate 12c 新特性
  10. 【洛谷P1972】HH的项链(求区间内有多少个不同的数---树状数组)
  11. 按键精灵定位坐标循环_[按键精灵手机版教程]DNF遍历背包卖物
  12. JAVA打卡记录计算时间
  13. 如何将网页另存为PDF
  14. 让HTML img垂直居中的三种办法:
  15. android学习code3 布局上
  16. Markdown语法-表格内换行
  17. xp系统dns服务器异常,电脑dns异常怎么修复,电脑dns异常修复方法介绍
  18. 独立键盘检测,矩阵键盘检测
  19. 互联网广告人--联合御寒--品牌,代理,平台,达人 多方携手御寒
  20. 一个程序员的陪产经历--写在宝宝百日之际

热门文章

  1. 【推荐系统】深入理解推荐系统:排序
  2. iPhone X适配小结
  3. 再来一波PHP程序员必看书籍
  4. [十六]JavaIO之InputStreamReader 与 OutputStreamWriter
  5. DTStructure分治法与最大子列和问题
  6. C语言-数据结构与其他数据形式
  7. angularjs解决方案之 递归模板
  8. 《python核心编程》读书笔记--第15章 正则表达式
  9. linux 常见试题(2)-选择
  10. 生活中处处有joke!!