业精于勤,荒于嬉
种一棵树最好的时间是十年前,其次是现在
|

超级鲨鱼辣椒

园龄:6年4个月粉丝:5关注:1

📂JVM
2021-08-05 10:44阅读: 40评论: 0推荐: 0

浅谈 JVM

话不多说,先上图

方法区(元空间)

在jdk1.8之前,叫做永久代,之后改名为元空间(Meta Space)。存放类元信息、静态变量、常量。

虚拟机栈

栈是线程私有的。生命周期随线程生而生,亡而亡。线程每调用执行一个方法,都会压入一个栈帧,方法执行完毕,就弹出栈帧。(当然了,并不能无禁止的一直压入栈帧)

局部变量表

顾名思义,存储方法参数、方法内定义的局部变量

操作数栈

通过相关指令对局部变量进行各种操作

动态链接

将符号引用变成直接引用

方法出口

就是方法执行完了后线程要去哪里执行呢?方法出口就存储了这个位置

程序计数器

也是线程私有的区域,每个线程都会分配计数器的内存,用来存放当前线程正在运行或者将要运行的JVM指令码对应的地址,或者说行号位置

堆是运行时数据区最重要的一块内存区域。也就是常说的存放对象的区域了。
堆由新生代和老年代组成,新生代又分为Eden区和Survivor区,其中Survivor区又分为from区和to区。
new出来的新对象一般都存在Eden区。那为什么要在这个区域呢,Eden就是伊甸园的意思,这么说就很明了了吧。

再来个堆区域组成图

posted @   超级鲨鱼辣椒  阅读(40)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
展开