JVM 分代垃圾回收过程

堆空间划分了代:
在这里插入图片描述
年轻代(Young Generation)分为 eden 和 Survivor 两个区,Survivor 又分为2个均等的区,S0 和 S1。
首先,新对象都分配到年轻代的 eden 空间,Survivor 刚开始是空的。
在这里插入图片描述
当 eden 满了以后,minor gc 就被触发了。
在这里插入图片描述
还被引用的对象被移到第一个 survivor 空间,然后把整个 eden 空间都清理掉。
在这里插入图片描述
下一次 minor gc 时还是同样的过程,把 eden 中还被引用的对象移到 survivor 空间,然后清除 eden 空间,只是这次是移到第二个 survivor(S1),同时,把上次 minor gc 移到 S0 中的对象也移到 S1,并增加这些对象的年龄,移到 S1 之后,S0 也被清理掉,这时,eden 和 S0 都干净了。
在这里插入图片描述
下一次 minor gc 同理,只是这次换为了 S0,eden 和 S1 都干净了。
image
这个过程不断重复,这样 survivor 中对象的年龄会一直增长,当达到一定程度(例如8),这个对象就从年轻代转移到了老年代。
image
这样,老年代中的对象就持续增加。
image
最后就会触发 major gc 对老年代空间进行清理和压缩。
image

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/157786.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IDEA新建maven项目,使用mybatis操作数据库完整过程

IDEA新建maven项目,使用mybatis操作数据库完整过程 一、IDEA新建maven项目二、配置mybatis三、创建表对应实体类四、创建mapper接口五、使用mybatis操作数据库 前提: 这个教程是在maven项目中使用mybatis进行数据库操作,不是在spring boot项目…

精准测试:提高软件质量和用户满意度的利器

📢专注于分享软件测试干货内容,欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!📢交流讨论:欢迎加入我们一起学习!📢资源分享:耗时200小时精选的「软件测试」资…

目标检测:Proposal-Contrastive Pretraining for Object Detection from Fewer Data

论文作者:Quentin Bouniot,Romaric Audigier,Anglique Loesch,Amaury Habrard 作者单位:Universit Paris-Saclay; Universit Jean Monnet Saint-Etienne; Universitaire de France (IUF) 论文链接:http://arxiv.org/abs/2310.16835v1 内容…

用rust写web服务器笔记(11/1)

文章目录 一、创建一个具有监听链接功能web服务器二、读取请求内容三、编写web服务器返回网页(编写响应)四、编写web服务器有条件的返回网页五、编写多线程的web服务器六、用线程池实现web服务器七、实现线程池清除的web服务器八、读取文件 rust官网文档地址:https:…

学习笔记|两独立样本秩和检验|曼-惠特尼 U数据分布图|规范表达|《小白爱上SPSS》课程:SPSS第十二讲 | 两独立样本秩和检验如何做?

目录 学习目的软件版本原始文档两独立样本秩和检验一、实战案例二、统计策略三、SPSS操作1、正态性检验2、两样本秩和检验 四、结果解读疑问:曼-惠特尼 U数据分布图如何绘制? 五、规范报告1、规范表格2、规范文字 六、划重点 学习目的 SPSS第十二讲 | 两…

频谱仪超外差和零中频架构

文章目录 超外差结构零中频结构接收机结构发射机结构 优缺点对比附录相关词汇多次变频的形象解释 参考文献 频谱仪的本质就是一个超宽带、超宽调谐范围、高动态范围的通信接收机, 频谱仪的原理即通信接收机的原理。 遇到高频率高带宽谐波成分复杂的通信信号的话&am…

关于idea使用的一些操作设置

关于idea使用的一些操作设置 1. 常用的一下设置1.1 快捷键相关1.2 配置自动生成注释(类、方法等)1.3 maven项目相关1.4 常见其他的一些操作设置 2. IntelliJ IDEA 取消param注释中参数报错提示3. idea同时打开多个文件,导航栏不隐藏、自动换行…

AI时代新宠,向量数据库

随着生成式人工智能(GAI)应用以及大语言模型(LLM)的快速发展,一种新型数据库也获得了市场和资本的重点关注,它就是向量数据库(Vector Database)。 向量数据库简介 向量数据库是一种…

微信小程序自定义弹窗阻止滑动冒泡catchtouchmove之后弹窗内部内容无法滑动

自定义弹窗 如图所示: 自定义弹窗内部有带滚动条的盒子区域 问题: 在盒子上滑动,页面如果超出一屏的话,也会跟着一起上下滚动 解决方案:给自定义弹窗 添加 catchtouchmove 事件,阻止冒泡即可 网上不少…

【C++】C++11【上】列表初始化|声明|新容器|右值引用|完美转发|新的类功能

目录 1、 C11简介 2、 统一的列表初始化 2.1 {}初始化 2.2 std::initializer_list 3、声明 3.1 auto和范围for 3.1decltype 3.3 nullptr 4、新容器 5、 右值引用 5.1左值引用和右值引用 5.2 左值引用与右值引用比较 5.3 左值和右值引用使用场景及意义 6…

2023年【低压电工】考试及低压电工模拟考试题

题库来源:安全生产模拟考试一点通公众号小程序 低压电工考试根据新低压电工考试大纲要求,安全生产模拟考试一点通将低压电工模拟考试试题进行汇编,组成一套低压电工全真模拟考试试题,学员可通过低压电工模拟考试题全真模拟&#…

2023/10/29总结

总结 踩坑记录 写代码的时候遇到了一个错误大概是这样的 io.jsonwebtoken.security.WeakKeyException: The signing keys size is 48 bits which is not secure enough for the HS256 algorithm. The JWT JWA Specification (RFC 7518, Section 3.2) states that keys used…