jvm中的栈

这里的栈,是jvm中的一块内存区域,存储结构和数据结构中的栈一样,遵循先进后出原则,存储的内容是栈帧。栈帧:当方法被调用的时候,会将该放方法执行过程中的相关信息存储进栈帧,也就是说存储被调用的方法的信息。当方法被执行完(正常返回或者抛出异常)之后,该方法对应的栈帧就会从栈中移除。

栈帧中存储的内容:

1:局部变量表

存储方法中的局部变量,包括方法参数,基本数据类型变量,对象引用等,表的大小在编译期就已经确定(),通过字节码指令中的max_locals属性指定

2:操作数栈

作为方法执行过程中的临时数据存储区,用于字节码指令的运算操作。就是方法运行时候所涉及到的数据,涉及到的数据放在操作数栈中,例如:执行iadd(整数加法)时,会从操作数栈弹出两个整数,相加后将结果压回栈中。

3:方法返回地址,记录该方法被调用执行结束后,应该返回到的地址(即调用该方法的指令的下一条指令地址),确保上层方法能继续执行

4:动态链接(Dynamic Linking)指向当前方法在运行时常量池中的引用,用于将字节码中的符号引用转换为直接引用(支持多态和动态绑定)。

相关推荐
彧翎Pro7 小时前
基于 RO1 noetic 配置 robosense Helios 32(速腾) & xsense mti 300
前端·jvm
minji...11 小时前
Linux 线程同步与互斥(二) 线程同步,条件变量,pthread_cond_init/wait/signal/broadcast
linux·运维·开发语言·jvm·数据结构·c++
woai336412 小时前
JVM学习-基础篇-常见引用
jvm·学习
それども12 小时前
理解JVM参数 Xss 线程的栈大小
jvm
玛卡巴卡ldf13 小时前
【Springboot6】内存泄漏OOM、VisualVM、Arthas、Prometheus Grafana监控、垃圾回收
java·jvm·springboot
一个有温度的技术博主13 小时前
深入多级缓存:JVM进程缓存实战与数据库表拆分策略
jvm·数据库·缓存
码云数智-园园14 小时前
C# 内存模型的基石:值类型与引用类型的深度博弈
java·开发语言·jvm
Engineer邓祥浩14 小时前
JVM学习笔记(7) 第三部分 虚拟机执行子系统 第6章 类文件结构
jvm·笔记·学习
大黄说说14 小时前
深入.NET内存模型:垃圾回收(GC)机制与性能优化指南
java·jvm·算法
搜佛说2 天前
比SQLite更快,比InfluxDB更轻:sfsDb的降维打击
jvm·数据库·物联网·架构·sqlite·边缘计算·iot