JVM 虚拟机栈

Posted natian-ws

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JVM 虚拟机栈相关的知识,希望对你有一定的参考价值。

技术图片

虚拟机栈:

  栈元素是栈帧。方法调用,栈帧入栈,反之出栈。

栈帧:一个方法的运行空间。

  1、局部变量表:方法定义的局部变量、方法的参数存在该表。

    实例方法中有个隐含参数“this”,所以实例方法可以访问该类的实例变量和其他实例方法。

    局部变量表中变量的存放顺序:this(如果是实例方法)=>参数(如果有)=> 定义的局部变量(如果有)

    slot是局部变量表中的空间单元,虚拟机规范规定:1、32位之内的数据,用一个slot来存放,如int、short、float等;2、64位的数据用连续两个slot来存放,如long、double;3、引用类型可32位亦可64位。

  2、操作数栈:用来存放操作数。

  局部变量表中的变量是不可直接使用的,如需使用必须通过相关指令将其加载至操作数栈中作为操作数使用。

  

以上是关于JVM 虚拟机栈的主要内容,如果未能解决你的问题,请参考以下文章

JVM-4. 虚拟机栈

jvm虚拟机栈的作用

JVM-虚拟机栈简介

《JVM系列》 第四章 -- Java虚拟机栈

02-JVM内存模型:虚拟机栈与本地方法栈

JVM 运行时内存空间详解——虚拟机栈