当前位置: 首页 > news >正文

说一下 jvm 有哪些垃圾回收算法?

说一下 jvm 有哪些垃圾回收算法?

在这里插入图片描述
一.对象是否已死算法
1.引用计数器算法
2.可达性分析算法

二.GC算法
1.标记清除算法
如果对象被标记后进行清除,会带来一个新的问题–内存碎片化。如果下次有比较大的对象实例需要在堆上分配较大的内存空间时,可能会出现无法找到足够的连续内存而不得不再次触发垃圾回收。

2.复制算法(Java堆中新生代的垃圾回收算法)
(1)先标记待回收内存和不用回收内存;
(2)将不用回收的内存复制到新的内存区域;
(3)旧的内存区域就可以被全部回收了,而新的内存区域也是连续的;

3.标记压缩算法(Java堆中老年代的垃圾回收算法)
(1)对于新生代,大部分对象都不会存活,所以复制算法较高效,但对于老年代,大部分对象可能要继续存活,如果此时使用复制算法,效率会降低。
(2)标记压缩算法首先还是标记,将不用回收的内存对象压缩到内存一端,此时即可清除边界处的内存,这样就能避免复制算法带来的效率问题,同时也能避免内存碎片化的问题。
(3)老年代的垃圾回收算法称为“Major GC”。

终止一条道路的最好方式便是走完它。-----酷酷的韩

http://www.lryc.cn/news/262935.html

相关文章:

  • 【23真题】一共10道题,押题卷5道!
  • JS的浅拷贝和深拷贝
  • 天软特色因子看板 (2023.12 第12期)
  • 【Logback技术专题】「入门到精通系列教程」深入探索Logback日志框架的原理分析和开发实战技术指南(上篇)
  • vue3+element Plus 清空el-tree复选框选中项
  • 【VScode】设置语言为中文
  • C++ Qt开发:TableWidget表格组件
  • layui框架实战案例(25):table组件筛选列记忆功能
  • 20、WEB攻防——PHP特性缺陷对比函数CTF考点CMS审计实例
  • 互换数组的两个轴 numpy.swapaxes()
  • 金蝶云星空修改业务对象标识
  • 【PHP入门】2.1-运算符
  • 【Hive】——DML
  • 【Spring教程31】SSM框架整合实战:从零开始学习SSM整合配置,如何编写Mybatis SpringMVC JDBC Spring配置类
  • Tailwind CSS 入门
  • 如何在简历中解释就业空白
  • 【计算机网络】TCP协议——2.连接管理(三次握手,四次挥手)
  • 螺丝厂家:如何根据您的需求找到合适您的紧固件
  • 企业数字化转型进入深海区:生成式AI时代下如何制定数据战略
  • html行内元素和块级元素的区别?
  • ResNet 原论文及原作者讲解
  • liteflow规则引擎 执行Groovy脚本
  • GZ015 机器人系统集成应用技术样题5-学生赛
  • Spark编程实验二:RDD编程初级实践
  • CleanMyMac X这一款mac电脑清理垃圾文件软件好用吗?
  • 四通道 DMOS 全桥驱动MS35631N/MS35631
  • JWT令牌的作用和生成
  • elementui el-pagination分页组件查询的时候当前页不更新
  • C++——C++11(1)
  • CoPilot究竟如何使用?