java虚拟机栈

作用:

  用于存储局部变量、操作数栈、动态链接、方法出口等信息。

特点:

  1.线程私有

  2.生命周期与线程相同

工作特点:

  1.局部变量表(虚拟机栈中的)所需的空间在编译期间完全确定,方法运行期间不会改变大小。

  2.64位长度的long和double类型的数据会占用2个局部变量,其余数据类型占用1个。

  3.局部变量表存储了编译期间可知的所有基本数据类型,对象引用,returnAddress类型。

异常情况:

  1.StackOverflowError,当线程请求的站深度大于虚拟机所允许的深度时,抛出栈溢出异常。

  2.OutOfMemoryError,如果虚拟机可以动态扩展,在扩展时无法申请足够的内存,抛出内存溢出异常。

 

本地方法栈:

  虚拟机栈为Java方法(字节码)提供服务,本地方法栈为虚拟机使用到的Native方法服务。

posted @ 2019-03-02 16:02  FigSprite  阅读(330)  评论(0编辑  收藏  举报