首页 >

如何理解Java虚拟机栈? – 网络|

ipad新版本怎么关闭程序,略缩图怎么弄,没有手机号怎么申请微信号吗如何理解Java虚拟机栈? - 网络|如何理解Java虚拟机栈

Java内存可以粗糙的区分为堆内存(Heap)和栈内存(Stack),其中栈就是现在说的虚拟机栈,或者说是虚拟机栈中局部变量表部分。(实际上,Java虚拟机栈是由一个个栈帧组成,而每个栈帧中都拥有:局部变量表、操作数栈、动态链接、方法出口信息。)

局部变量表主要存放了编译器可知的各种数据类型(boolean、byte、char、short、int、float、long、double)、对象引用(reference类型,它不同于对象本身,可能是一个指向对象起始地址的引用指针,也可能是指向一个代表对象的句柄或其他与此对象相关的位置)。

Java虚拟机栈会出现两种异常:StackOverFlowError和OutOfMemoryError。

StackOverFlowError:若Java虚拟机栈的内存大小不允许动态扩展,那么当线程请求栈的深度超过当前Java虚拟机栈的最大深度的时候,就抛出StackOverFlowError异常。

OutOfMemoryError:若Java虚拟机栈的内存大小允许动态扩展,且当线程请求栈时内存用完了,无法再动态扩展了,此时抛出OutOfMemoryError异常。

Java虚拟机栈也是线程私有的,每个线程都有各自的Java虚拟机栈,而且随着线程的创建而创建,随着线程的死亡而死亡。


如何理解Java虚拟机栈? - 网络|
  • 用python写求和函数(快速学习python求和函数的实现) |python中百分号作用
  • 用python写求和函数(快速学习python求和函数的实现) |python中百分号作用 | 用python写求和函数(快速学习python求和函数的实现) |python中百分号作用 ...

    如何理解Java虚拟机栈? - 网络|
  • 少儿学python哪个机构好,杭州哪个少儿编程机构更好一点呢? - python - 前端,python 读取文件修改内容
  • 少儿学python哪个机构好,杭州哪个少儿编程机构更好一点呢? - python - 前端,python 读取文件修改内容 | 少儿学python哪个机构好,杭州哪个少儿编程机构更好一点呢? - python - 前端,python 读取文件修改内容 ...

    如何理解Java虚拟机栈? - 网络|
  • Python登录用户,让你成为BAT等一线互联网公司的运营高手 |python中验证身份证号码
  • Python登录用户,让你成为BAT等一线互联网公司的运营高手 |python中验证身份证号码 | Python登录用户,让你成为BAT等一线互联网公司的运营高手 |python中验证身份证号码 ...