JVM-运行时数据区-虚拟机栈

168 阅读1分钟

四、虚拟机栈

(一)、栈管运行,属于先进后出的(FILO),栈理解可借用美食制作的例子,小甲同学来到膳食厨房,厨房面板放置着八角、桂皮、草果、食盐、还有来自北纬 57度的精选牛肉(局部变量表),同时为了谨慎对待小甲同学把食谱已打印好,步骤工序完善只需小甲执行就好(操作数栈)这两最关键的部分就可以开始做菜了

WechatIMG40.png

为了菜烧的更好,小甲会独享这个时刻(一个线程对应一个JVM栈)

1.局部变量表(local variables)

1.  也称局部变量数组用于存储方法参数和定义在方法体的**局部变量**包括(基本数据类型、对象引用)
2.  在局部变量表里32位以内的类型只占用一个slot ,64位占用两个slot
3.  非静态方法还会外加一个this的槽

image-20211205155625311.png 2.操作数栈

1.  用数组实现的,32bit 占用一个栈深度

3.动态链接

1.  指向运行时常量池的方法引用-配图食用

image-20211205161555906.png

ps:小菜鸡的学习心得,其他几篇还在简书,后续搬运完善