一 标记-清除算法(Mark-Sweep)

  首先标记出所有需要回收的对象,标记完成后统一回收。

  主要缺点: 1. 标记和清除效率都很低 2. 产生大量不连续的内存碎片,导致后面分配大内存空间失败

  二 复制算法

  将可用内存划分为大小相等的两块, 每次只使用其中一块。 当这块用完后,就将还存活对象复制到另外一块上面,再把已经使用的内存空间一次清理掉。

  主要缺点: 代价太高,至少一半的内存不能使用。

  三 标记-整理算法

  标记过程和标记-清除算法一致,但是后续步骤是让所有存活的对象都向一端移动,然后清理掉边界以外的系统之家内存。

  四 分代收集算法

  当前商业虚拟机都采用此算法,分为不同对象代,去进行不同管理。

转载于:https://www.cnblogs.com/qq12345678/p/3219488.html

【Java虚拟机的垃圾收集算法】相关推荐

  1. JAVA虚拟机垃圾回收算法原理

    除了释放不再被引用的对象外,垃圾收集器还要处理堆碎块.新的对象分配了空间,不再被引用的对象被释放,所以堆内存的空闲位置介于活动的对象之间.请求分配新对象时可能不得不增大堆空间的大小,虽然可以使用的总空 ...

  2. Java虚拟机04——垃圾收集器

    主要介绍HotSpot虚拟机的垃圾收集器,这个虚拟机包含的所有收集器如图所示: 可以看到,收集器之间是可以搭配使用的.下面介绍这些收集器的特性.基本原理和使用场景.在介绍之前先明确一个观点:直到现在为 ...

  3. JAVA虚拟机之垃圾收集与内存分配策略

    最近再看<深入理解JAVA虚拟机>周志明写的第二版.现将学习笔记分享出来,方便日后复习,理解有误的地方欢迎指正! 1.运行时数据区: 程序计数器:一块较小的内存空间,保存当前线程所执行的字 ...

  4. 《深入理解Java虚拟机》——垃圾收集器的具体实现

    2019独角兽企业重金招聘Python工程师标准>>> 如果说收集算法是内存回收的方法论,垃圾收集器就是内存回收的具体实现.Java虚拟机规范中对垃圾收集器应该如何实现并没有任何规定 ...

  5. java虚拟机手动内存分配_《深入理解java虚拟机》-垃圾收集器与内存分配策略

    如何判断对象已死? 引用计数算法 在对象中添加一个引用计数器,每当有一个地方引用它时,计数器就加1:当引用失效时,计数器减1:其中计数器为0的对象是不可能再被使用的已死对象. 引用计数算法的实现很简单 ...

  6. 学会这个2021不一样的感觉学Java性能之 垃圾收集算法

    从原来只知道-Xms.-Xmx是设置内存的,到现在稍微理解了一些堆内存等Java虚拟机的一些知识.明白了技术这一个东西还是得要有输入才能实践,原理与实践要相辅相成,后续把JVM的监控好好总结一下.以前 ...

  7. 深入理解Java虚拟机 -- 经典垃圾收集器

    文章目录 1. 综述 2. Serial收集器 3. ParNew收集器 4. Parallel Scavenge收集器 5. Serial Old收集器 6. Parallel Old收集器 7. ...

  8. 了解java虚拟机—垃圾回收算法(5)

    引用计数器法(Reference Counting) 引用计数器的实现很简单,对于一个对象A,只要有任何一个对象引用了A,则A的引用计数器就加1,当引用失效时,引用计数器减1.只要对象A的引用计数器的 ...

  9. java虚拟机系列:垃圾收集器

    垃圾收集器是垃圾回收算法(标记-清除算法.复制算法.标记-整理算法)的具体实现,不同商家.不同版本的JVM所提供的垃圾收集器可能会有很在差别. 图中展示了7种不同分代的收集器: Serial.ParN ...

最新文章

  1. 计算机专业中专排名,成都计算机中专学校排名
  2. 使用jsp实现word、excel格式报表打印-JSP教程,Jsp/Servlet
  3. Json与List的相互转换
  4. 编程入门python java和c语言_学习编程适不适合从Python入门?哪种语言更适合入门?...
  5. 前端基础-html 介绍和head标签 ( 1 )
  6. 输入n个学生的成绩c语言,c语言帮忙改错!输入n个学生的成绩信息,按照每个学生的个人平均成绩从高到低输出他们的信息...
  7. WDM驱动inf模板
  8. matlab软件及基础实验第8单元,MATLAB软件与基础数学实验
  9. 启动react-native报错 Unrecognized font family 'Ionicons'
  10. Spring框架学习第二部分
  11. 计算机教育的含义是什么,计算机上的mc是什么意思,计算机上的mc mr ms M+ 分别代表什么意思?...
  12. 【论文翻译】Clustering by fast search and find of density peaks
  13. docker之网络管理
  14. Win7 EFS 加密文件图解
  15. 【GG-21 5A 100V逆功率继电器】
  16. 计算机安全属性中可用性是,计算机安全的基本概念试题解析
  17. 如何刷新本机DNS缓存(Win+Linux+OSX)
  18. matlab模拟n维谐振子,n维耦合谐振子的能量谱条件数理论研究
  19. [句型]二十一、there be 句型 和 情态动词
  20. 四川多多开店:拼多多银行卡认证流程是什么

热门文章

  1. 本文将向您展示如何在 Flutter 中编码/解码 JSON
  2. No enclosing instance of type JDStudent is acAcessible. Must qualify the allocation with an enclosin
  3. python tf_TF 2.1.0-rc2发布,2020年停止支持Python 2
  4. java静态和动态的区别是什么意思_Java中的动态和静态多态性有什么区别?
  5. 用户研究,你还在“凭感觉”吗?
  6. 从硅谷走出来,它们的成功有迹可循
  7. 网易来聊聊子弹短信的消息漫游技术
  8. 设计模式学习笔记之-代理模式
  9. Laravel框架中Validor中错误信息$error的输出
  10. 使用 python 获取 httpd 程序所占用物理内存