JVM 分代垃圾回收过程

news2025/4/9 10:57:34

堆空间划分了代:
在这里插入图片描述
年轻代(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.coloradmin.cn/o/1156403.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CentOS、linux安装squid搭建正向代理,window11配置正向代理

1.CentOS安装配置squid 1.1.安装 yum install -y squid1.2.修改配置文件 在配置文件添加以下2行代码 acl localnet src 0.0.0.0/0.0.0.0 # add by lishuoboy http_access allow all # add by lishuoboy1.3.启动squid systemctl restart squid2.win11…

微服务架构——笔记(1)

微服务架构——笔记(1) 文章来源B站视频 尚硅谷SpringCloud框架开发教程(SpringCloudAlibaba微服务分布式架构丨Spring Cloud)教程 own process 独立部署 (1.微服务架构零基础理论) 叙述 马丁福勒 架构模式,倡导将单…

javaEE -13(6000字CSS入门级教程 - 2)

一:Chrome 调试工具 – 查看 CSS 属性 首先打开浏览器,接着有两种方式可以打开 Chrome 调试工具 直接按 F12 键鼠标右键页面 > 检查元素 点开检查即可 标签页含义: elements 查看标签结构console 查看控制台source 查看源码断点调试ne…

resource manager OCB structure(iofunc_ocb_t) 扩展实例

文章目录 前言一、OCB structure(iofunc_ocb_t) 是什么二、OCB structure(iofunc_ocb_t) 扩展实例1.OCB structure(iofunc_ocb_t) 扩展后的使用实例总结参考资料前言 本文主要介绍如何对qnx系统下的resource manager OCB structure(iofunc_ocb_t) 数据结构进行扩展 软件环境:…

C#__委托delegate

委托存储的是函数的引用(把某个函数赋值给一个委托类型的变量,这样的话这个变量就可以当成这个函数来进行使用了) 委托类型跟整型类型、浮点型类型一样,也是一种类型,是一种存储函数引用的类型 using System.Reflec…

【MATLAB第81期】基于MATLAB的LSTM长短期记忆网络预测模型时间滞后解决思路(更新中)

【MATLAB第81期】基于MATLAB的LSTM长短期记忆网络预测模型时间滞后解决思路(更新中) 在LSTM预测过程中,极易出现时间滞后,类似于下图,与一个以上的样本点结果错位,产生滞后的效果。 在建模过程中&#xf…

torch.div()不支持round_mode参数

问题怎么定位的呢,把报错信息一股脑甩给chatgpt,问他什么意思,他就反馈说“在标准的Python库中,div() 函数不接受 rounding_mode 参数。”(虽然这个问题也不难,但是改偷的懒还是要偷) 问题再现…

reactive与ref VCA

简介 Vue3 最大的一个变动应该就是推出了 CompositionAPI,可以说它受ReactHook 启发而来;它我们编写逻辑更灵活,便于提取公共逻辑,代码的复用率得到了提高,也不用再使用 mixin 担心命名冲突的问题。 ref 与 reactive…

虚函数表(图文详解)

虚函数表 1. 单继承和多继承关系的虚函数表1.1 单继承中的虚函数表1.2 多继承中的虚函数表1.3 菱形继承、菱形虚拟继承 2. 继承和多态常见的面试问题2.1 概念查考2.2 问答题 1. 单继承和多继承关系的虚函数表 需要注意的是在单继承和多继承关系中,下面我们去关注的是…

聊聊宿主机管理

2020年,机器上线需要在八个服务间反复横跳,而且全程手动操作。伴随滴滴业务规模上云,弹性云新增大量物理机,上线操作至少有百次,这时暴露了一个问题:如果按这个速度上线机器,需要大量人力投入到…

罢工效应,韩电池业在美建厂面临挑战 | 百能云芯

美国汽车行业的罢工事件仍在持续,对于远在数千公里之外的韩国电池制造商来说,这引发了不小的担忧,他们担心生产成本会因此大幅上升。 据彭博资讯报道,韩国电池制造商LG新能源、SK On和三星SDI,已与美国的三家汽车制造巨…

Apache ActiveMQ 远程代码执行漏洞复现(CNVD-2023-69477)

Apache ActiveMQ 远程代码执行RCE漏洞复现(CNVD-2023-69477) 上周爆出来的漏洞,正好做一下漏洞复现,记录一下 1.漏洞描述 ​ Apache ActiveMQ 中存在远程代码执行漏洞,具有 Apache ActiveMQ 服务器TCP端口&#xff…

kotlin中集合操作符

集合操作符 1.总数操作符 any —— 判断集合中 是否有满足条件 的元素; all —— 判断集合中的元素 是否都满足条件; none —— 判断集合中是否 都不满足条件,是则返回true; count —— 查询集合中 满足条件 的 元素个数&#x…

案例分析真题-质量属性

案例分析真题-质量属性 2009 年真题 【问题1】 【问题2】 2011 年真题 【问题1】 骚戴理解:首先要知道这样的题目没有可靠性,只有可用性,更没有容错性,这里我(3)写成了i,而不是f,仔…

git 权限报错处理(亲测可行)

错误信息“Please make sure you have the correct access rights and the repository exists. fatal: clone of gitgithub.com:wechat-miniprogram/awesome-skyline.git into submodule path C:/Tencent/miniprogram-demo/miniprogram/packageSkylineExamples failed Failed t…

Qt 项目实战 | 俄罗斯方块

Qt 项目实战 | 俄罗斯方块 Qt 项目实战 | 俄罗斯方块游戏架构实现游戏逻辑游戏流程实现基本游戏功能设计小方块设计方块组添加游戏场景添加主函数 测试踩坑点1:rotate 失效踩坑点2:items 方法报错踩坑点3:setCodecForTr 失效踩坑点4&#xff…

界面控件DevExpress WPF Gauge组件 - 轻松实现个性化商业仪表盘

DevExpress WPF Gauge(仪表)控件包含了多种圆形仪表类型、水平和垂直线性仪表、分段和矩阵数字仪表以及状态指示器,同时还具有最终用户交互性的集成支持。 P.S:DevExpress WPF拥有120个控件和库,将帮助您交付满足甚至…

Intel oneAPI笔记--oneAPI简介、SYCL编程简介

oneAPI简介 Intel oneAPI是Intel提供的统一编程模型和软件开发框架。 它旨在简化可充分利用英特尔各种硬件架构(包括 CPU、GPU 和 FPGA)的应用程序的开发 oneAPI一个重要的特性是开放性,支持多种类型的架构和不同的硬件供应商,是…

RK3588编译MXNet框架

目录 1. 背景 2.编译MXNet准备 3.开发板编译 1. 背景 MXNet(也称为Apache MXNet或incubator-mxnet)是一个开源的深度学习框架,它最初由华为和亚马逊AWS共同开发,并于2017年成为Apache软件基金会的孵化项目。MXNet旨在提供高效、…

DAY40 343. 整数拆分 + 96. 不同的二叉搜索树

343. 整数拆分 题目要求:给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。 示例 1: 输入: 2输出: 1解释: 2 1 1, 1 1 1。 示例 2: 输入: 10输出: 36解释: 10 3 3 4, 3 3 …