Hadoop develop

博学笃志,切问近思,此八字,是收放心的工夫。 神闲气静,智深勇沉,此八字,是干大事的本领。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  190 随笔 :: 10 文章 :: 199 评论 :: 45万 阅读

一、引言

  JVM虚拟机内存回收机曾迷惑了不少人,文本从JVM实现机制的角度揭示JVM内存回收的原理和机制。

一、Java平台逻辑架构

二、JVM物理结构

通过从JVM物理结构图我们可以看到:

1.JVM两个子系统:类加载子系统和执行引擎子系统;

2.JVM两个组件:本地接口方法组件和内存空间组件。

2.JVM内存空间分为:Java堆,Java栈、方法区和本地方法区

关键词:我们经常讨论的JVM内存回收机制就是指Java堆内存回收机制。

四、JVM内存组成结构

上图所示四部分即为JVM内存组成结构。

五、Java堆内存结构

JVM堆内存分为三部分

(1)Yong

(2)Tenured

(3)Pern

内存申请过程,按照Y-T进行溢出拷贝。通常我们说的JVM内存回收总是在指堆内存回收,确实只有堆中的内容是动态申请分配的,所以以上对象的年轻代和年老代都是指的JVM的Heap空间,而持久代则是之前提到的MethodArea,不属于Heap。

六、意见和建议

(1)对象清理:无用对象和中间对象手动设置为null,执行内存回收;

(2)对象池:使用对象池实现内存空间的复用;

(3)JVM调优:通过配置JVM的配置参数控制JVM垃圾回收。

七、遗留问题

(1)JVM内存回收的触发机制是什么?

(2)JVM内存回收真的是安全的吗?

(3)JVM会出现内存泄露吗?

学习中,如果你有答案告诉我把!

 

posted on   张子良  阅读(1006)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示