JVM 堆内存分代

今天我们一起来聊一聊JVM 堆内存

Java Heap(堆内存)由Young Generation(新生代,约占1/3)和Old Generation(老年代,约占2/3)组成。

Young Generation又由Eden Space(伊甸园区,占新生代80%)、Survivor Space 0(幸存者区0,占新生代10%)和Survivor Space 1(幸存者区1,占新生代10%)组成。

对象的生命周期

Young Generation(新生代):

  • 存储新创建存活周期极短的对象,比如方法内的局部变量、临时对象。默认占堆总容量1/3
  • 触发Minor GC(新生代 GC),频率极高(毫秒 / 秒级),但耗时极短(几十毫秒)。
  • Eden 区是 Minor GC 的 "触发源头",调大 Eden 区可减少 Minor GC 次数。

Eden Space(伊甸园区):新对象的 "默认出生地",99% 的新对象都会优先分配到 Eden 区(除非是超大对象直接进入老年代)。占新生代80%

Survivor Space 0/1(幸存者区 0/1,简称 S0/S1,也叫 From 区 / To 区):

  • 新生代 GC 后存活对象的"临时中转站",避免存活对象直接进入老年代。两个区会动态互换角色。各占新生代10%,合计 20%。
  • S0 和 S1永远有一个是空的(这是 JVM 的设计巧思)。
  • 每经历一次 Minor GC,存活对象的"年龄 + 1"

S0/S1 的交互示例:

  • ① 初始状态:Eden 有对象,S0 有对象,S1 为空;
  • ② Eden 触发 Minor GC → 回收 Eden+S0 的垃圾对象,存活对象复制到 S1,清空 Eden+S0;
  • ③ 此时 S1 非空、S0 为空,两者角色互换(S0=To 区,S1=From 区);
  • ④ 下次 Minor GC 重复上述过程,存活对象在 S0/S1 之间"来回复制"

Old Generation(老年代):

  • 存储长期存活、体积较大的对象,比如单例对象、缓存对象、经历多次 Minor GC 仍存活的对象。默认占堆总容量2/3
  • 触发Major GC / Full GC,频率极低,但耗时极长。
  • 老年代大小决定 Full GC 频率 —— 老年代越大,Full GC 频率越低,但单次 Full GC 耗时越长。

对象进入老年代的条件

  • 年龄达标:对象在 S0/S1 之间复制次数达到阈值(默认 15 次,-XX:MaxTenuringThreshold调整);
  • 大对象:超过阈值的对象(-XX:PretenureSizeThreshold)直接进入老年代;
  • 空间担保失败:Minor GC 后 Survivor 区放不下存活对象,多余对象直接晋升老年代;
  • 动态年龄判断:Survivor 区中相同年龄对象总和超过 50%,该年龄及以上对象直接进入老年代。

不同存活周期的对象放在不同区域,用不同算法回收,保证GC效率,这就是"分代回收"的核心思想。

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

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

相关文章

Spring Boot 配置文件深度解析

Spring Boot 配置文件深度解析(2026 最新版) Spring Boot 的配置文件是整个应用的核心“控制中心”,它决定了应用的端口、数据库连接、日志级别、自定义属性等几乎所有行为。Spring Boot 提供了强大而灵活的配置机制,支持多种格式…

马克思主义与认识论:巴舍拉、康吉莱姆与福柯的思想交汇

马克思主义与认识论:巴舍拉、康吉莱姆与福柯的思想交汇在哲学与科学的互动谱系中,马克思主义认识论始终以历史唯物主义为根基,强调知识生产与社会历史条件的辩证关联。巴舍拉、康吉莱姆与福柯三位思想家,通过对科学知识形成机制、…

响应式Web测试最佳实践

响应式Web测试的重要性与挑战在当今多设备互联的时代,响应式网页设计(Responsive Web Design, RWD)已成为Web开发的标配,它确保网站能在智能手机、平板、桌面等多种屏幕尺寸上自适应展示。然而,对于软件测试从业者而言…

Image-to-Video生成失败?这5个CUDA错误解决方案必看

Image-to-Video生成失败?这5个CUDA错误解决方案必看 背景与问题定位:Image-to-Video二次开发中的典型GPU挑战 在基于 I2VGen-XL 模型的 Image-to-Video 图像转视频生成器 二次构建过程中,开发者“科哥”成功实现了本地化部署和WebUI交互功能。…

2026年移动测试工具Top 5

移动测试工具的演变与2026年展望移动应用测试已成为软件开发生命周期的核心环节,随着5G普及、AI融合和跨平台需求激增,2026年移动测试工具正经历革命性变革。本文基于行业报告(如Gartner预测)和实际案例,为测试从业者深…

Sambert-HifiGan语音合成服务性能基准测试

Sambert-HifiGan语音合成服务性能基准测试 📊 测试背景与目标 随着AI语音技术的普及,高质量、低延迟的中文语音合成(TTS)系统在智能客服、有声阅读、虚拟主播等场景中需求激增。Sambert-HifiGan 作为 ModelScope 平台上表现优异的…

Sambert-HifiGan多情感语音合成:如何实现情感自然过渡

Sambert-HifiGan多情感语音合成:如何实现情感自然过渡 引言:中文多情感语音合成的现实需求 随着智能客服、虚拟主播、有声阅读等应用场景的不断拓展,传统单一语调的语音合成(TTS)已难以满足用户对表达自然性与情感丰富…

codex思维迁移:如何构建自己的AI视频生成器?

codex思维迁移:如何构建自己的AI视频生成器? Image-to-Video图像转视频生成器 二次构建开发by科哥 “从一张静态图到一段动态影像,背后是扩散模型与时空建模的深度融合。” 在AIGC浪潮中,图像生成已趋于成熟,而视频生…

JAVA中对象的几种比较

Java 中对象的几种比较方式详解 Java 中对象的“比较”主要分为两种需求: 判断两个对象是否“相等”(内容是否相同)判断两个对象的大小关系(排序用) 对应地,Java 提供了多种机制来实现对象的比较。下面系…

云服务器按小时计费:节省50%算力开支的方法

云服务器按小时计费:节省50%算力开支的方法 背景与挑战:AI生成任务的算力成本困局 在当前AIGC(人工智能生成内容)爆发式增长的背景下,图像转视频(Image-to-Video)等高算力需求任务已成为内容创作…

【Java毕设全套源码+文档】基于springboot的网络云端日记本系统设计与实现(丰富项目+远程调试+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

Sambert-HifiGan语音合成服务的自动化测试方案

Sambert-HifiGan语音合成服务的自动化测试方案 引言:为何需要自动化测试? 随着语音合成技术在智能客服、有声阅读、虚拟主播等场景中的广泛应用,服务稳定性与输出质量的一致性成为工程落地的关键挑战。Sambert-HifiGan 作为 ModelScope 平台上…

性能测试集成CI/CD实战:构建高效软件质量防线

在敏捷开发和DevOps浪潮中,性能测试不再是项目末期的“附加项”,而是CI/CD(持续集成/持续部署)管道的核心环节。本文面向软件测试从业者,深入探讨如何将性能测试无缝集成到CI/CD流程中,提升软件交付速度与质…

你的提示词够精准吗?Image-to-Video动作控制秘诀揭秘

你的提示词够精准吗?Image-to-Video动作控制秘诀揭秘 引言:从静态图像到动态叙事的跨越 在生成式AI快速演进的今天,Image-to-Video(I2V)技术正成为连接视觉创意与动态表达的关键桥梁。传统图像生成模型虽能创造逼真画面…

基于 SpringBoot + jQuery 实现留言板功能

基于 Spring Boot jQuery 实现留言板功能(完整实战教程) 本教程将手把手教你使用 Spring Boot 3.x 作为后端 jQuery 作为前端交互,实现一个简洁美观的留言板系统。功能包括: 查看所有留言(分页可选)提交…

【Java毕设源码分享】基于springboot+vue的校园失物招领平台的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

程序员副业新思路:用Image-to-Video接单变现

程序员副业新思路:用Image-to-Video接单变现 从技术到变现:Image-to-Video的商业潜力 在AI生成内容(AIGC)爆发式增长的今天,静态图像生成已趋于成熟,而动态视觉内容的需求正在快速崛起。短视频平台、广告创…

基于S7-200Smart PLC的恒压供水程序与485通讯样例+人机触摸屏操作实践案例

S7-200Smart 恒压供水程序样例485通讯样例 触 摸屏样例子。 1.此程序样例为一拖二恒压供水样例,采用S7-200Smart PLC和smart 700触摸屏人机与abb变频器485通讯执行变频器PID实现恒压供水,商品同样包含S7-200PLC程序 2.程序为实际操作项目案例程序&#…

Java后端如何对接AI?Image-to-Video API调用示例

Java后端如何对接AI?Image-to-Video API调用示例 📌 背景与目标:Java服务集成图像转视频AI能力 随着生成式AI技术的快速发展,越来越多企业希望将动态内容生成能力嵌入现有系统。本文聚焦于一个实际工程场景:如何在Java…

度量标准重构:从“点击诱饵”到“知识节点”的评估体系设计

引言:评估危机与范式重构的必要性 在信息过载的数字时代,内容评估体系正面临系统性失效。传统以点击率(CTR) 为核心的度量标准,催生了“标题党”和浅层内容的泛滥;新兴的参与度指标(停留时间、…