论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
数据库
›
分布式数据库
›
JVM的内存布局
JVM的内存布局
守听
论坛元老
|
2024-12-13 21:51:59
|
显示全部楼层
|
阅读模式
楼主
主题
1035
|
帖子
1035
|
积分
3105
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
Java虚拟机(JVM)的内存布局可以分为几个重要部门,每个部门都有特定的用途。以下是JVM内存布局的根本组成:
方法区(Method Area)
:
方法区是所有线程共享的内存地区,用于存储已被虚拟机加载的类信息、常量、静态变量以及即时编译器编译后的代码等数据。
在Java 8之前,方法区通常被称为永世代(PermGen)。
Java 8及以后的版本中,方法区的功能被元空间(Metaspace)所取代,元空间使用的是本地内存。
堆(Heap)
:
堆是JVM管理的最大的一块内存地区,也是Java垃圾回收器管理的重要地区。
堆是所有线程共享的,用于存储对象实例和数组。
堆通常分为三个部门:新生代(Young Generation)、老年代(Old Generation)和元空间(Metaspace)。
新生代(Young Generation)
:
新生代进一步划分为一个Eden区和两个Survivor区(S0和S1)。
大部门对象在Eden区被创建。
当Eden区满时,垃圾回收发生,存活的对象会被移动到Survivor区,当对象在Survivor区中经过多次垃圾回收后仍然存活,它们会被移动到老年代。
老年代(Old Generation)
:
老年代重要用于存储长生命周期的对象。
老年代的垃圾回收频率低于新生代,因为这里存放的是一些存活时间较长的对象。
程序计数器(Program Counter Register)
:
程序计数器是一块小的内存空间,它为每个线程私有。
程序计数器用于存储指向下一条指令的地址,即当火线程所执行的字节码的行号指示器。
虚拟机栈(VM Stacks)
:
虚拟机栈也是线程私有的,每个方法在执行时都会创建一个栈帧(Stack Frame)用于存储局部变量表、操纵数栈、动态链接、方法出口等信息。
每个方法调用时都会在栈中压入一个新的栈帧,方法执行完毕后栈帧会从栈中弹出。
本地方法栈(Native Method Stacks)
:
本地方法栈与虚拟机栈雷同,不过它用于存储本地方法(如C或C++编写的方法)的调用状态。
直接内存(Direct Memory)
:
直接内存并不是JVM运行时数据区的一部门,但它是JVM通过NIO(New Input/Output)操纵的内存地区。
直接内存的分配不受JVM控制,但可以通过JVM的NIO类举行操纵。
以上就是JVM的内存布局,不同的JVM实现可能会在细节上有所不同,但总体结构大抵雷同。了解JVM的内存布局对于性能调优和故障排查非常紧张。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
守听
论坛元老
这个人很懒什么都没写!
楼主热帖
【网络编程】从零开始搭建一个开源博客 ...
Vulnhub靶机-Al-Web-1
Python学习:import的正确用法
jdbc如何连接sqlserver数据库呢? ...
报错building for iOS Simulator, but ...
【CSDN云VS腾讯云】要不然怎么说CSDN开 ...
面试官:BIO、NIO、AIO是什么,他们有 ...
TCP协议
如何成为一名开发人员——第 3 部分: ...
通达OA,长途下令执行漏洞复现 ...
标签云
AI
运维
CIO
存储
服务器
浏览过的版块
DevOps与敏捷开发
MES
Oracle
虚拟化与私有云
Mysql
快速回复
返回顶部
返回列表