6、JVM 虚拟机

简介: JVM堆内存布局因垃圾回收器而异:传统GC将堆分为老年代和年轻代(Eden、S0、S1),G1则划分为多个Region,可动态充当Eden、Survivor、老年代或巨型对象区。常用垃圾回收算法有标记-清除(快但碎片化)、标记-整理(无碎片,较慢)和标记-复制(无碎片,适合存活对象少的场景)。

6.1 JVM 堆内存结构
堆内存的布局与垃圾回收器有关.
传统的垃圾回收器会把堆内存划分为:老年代和年轻代,年轻代又分为
。伊甸园 Eden
·幸存区 S0,S1
如果是 G1 垃圾回收器,会把内存划分为一个个的 Region,每个 Region 都可以充当
伊甸园
幸存区
老年代
巨型对象区

6.2 垃圾回收算法
记忆三种:
1.标记-清除算法。优点是回收速度快,但会产生内存碎片
2.标记-整理算法。相对清除算法,不会有内存碎片,当然速度会慢一些
3.标记-复制算法。将内存划分为大小相等的两个区域 S0 和 S1
a.S0 的职责用来存储对象,S1 始终保持空闲
b.垃圾回收时,只需要扫描 S0 的存活对象,把它们复制到 S1 区域,然后把 S0 整个清空,最后二者互换
职责即可
c.不会有内存碎片,特别适合存活对象很少时(因为此时复制工作少)

相关文章
|
Kubernetes 应用服务中间件 nginx
k8s ingress不生效的bug 解决了。
k8s ingress不生效的bug 解决了。
781 0
|
9月前
|
存储 Oracle 关系型数据库
大表在线改造为分区表并释放空间:全流程实战指南
本文介绍大表在线改造为分区表的无锁方案,通过双写迁移、分批同步实现MySQL、Oracle等数据库零停机优化,提升查询性能、释放存储空间,适用于日志表、历史数据表等场景。
|
9月前
|
Java Spring 容器
Spring Bean的作用域如何设置,常见的取值有哪些?
Spring Bean作用域可通过@Scope注解设置,常见有singleton(默认,单例)、prototype(每次创建新实例)、request(每请求一个实例)、session(每会话一个实例)。singleton在容器启动时初始化,可加@Lazy延迟;prototype则每次使用时创建。多数场景使用默认单例模式。
|
9月前
|
自然语言处理 运维 Serverless
打破 IK 分词“架构陷阱”——阿里云 ES Serverless 索引级词典的完美热更新实践
本文将通过一个真实事故的复盘,解析开源 IK 分词器架构设计中的不足,并介绍阿里云 ES Serverless 如何通过“索引级词典”能力,彻底解决热更新引发的搜索错配问题。
753 9
|
9月前
|
机器学习/深度学习 人工智能 自然语言处理
做了15年认知心理学研究,聊聊我是怎么被文献淹没、又怎么爬出来的
一位认知心理学研究者分享15年科研中如何摆脱文献困扰:从每周耗12小时筛选论文,到借助AI工具将时间减至4小时。通过智能检索、批量分析、跨语言翻译等功能,高效追踪前沿、提升综述质量,并推动团队协作升级。工具助力,让科研回归思考本质。
564 1
|
9月前
域名转入阿里云优惠活动:每周三开启,域名COM、CN和Net后缀都有活动价格
阿里云域名转入优惠中,.com、.cn、.net批量转入享低价,周三更优惠。单笔转入5个以上低至78元(.com)、32元(.cn)。另有1元首年注册活动及优惠口令可领,详情见官方页面。
545 0
|
9月前
|
监控 Java 应用服务中间件
微服务保护Sentinel
本课程系统讲解微服务雪崩问题及Sentinel解决方案,涵盖限流、熔断、隔离、降级等核心机制。通过实战掌握Sentinel部署、三种流控模式(直接、关联、链路)、四种流控效果(快速失败、预热、排队)、Feign整合、线程隔离与授权规则,并了解规则持久化方案,全面提升微服务稳定性与高可用能力。
239 0
|
9月前
|
jenkins Java 持续交付
02-Jenkins配置编译项目
本文介绍如何在Jenkins中配置编译任务,实现从GitLab拉取代码,使用Maven/Node构建,通过Docker打包镜像并推送至CCE镜像仓库,最后利用kubectl更新云上服务。涵盖后台Java模块、前端Vue项目及跨服务器镜像导出方案,支持手动与自动触发构建,提升持续集成效率。
347 0
|
9月前
|
机器学习/深度学习 存储 缓存
注意力机制详解
注意力机制是Transformer核心,通过自注意力、交叉注意力等实现序列间动态关联。多头、分组、多查询等变体在效率与性能间权衡,广泛应用于大模型设计,助力高效长序列建模与推理优化。
|
9月前
|
SQL 监控 关系型数据库
4、SQL性能分析及优化
通过SkyWalking链路追踪可定位慢接口及慢SQL,或开启MySQL慢查询日志(如设置超1秒记录)来识别执行慢的SQL。结合explain分析执行计划,关注key、type、extra等关键指标,判断索引命中与性能瓶颈,避免全表扫描,优化SQL性能。(238字)