Java虚拟机栈

Java虚拟机栈

Java虚拟机栈和他所属线程的生命周期是相同的,即和线程一起创建,也一起销毁。
Java虚拟机栈是Java方法执行的内存模型。
与对象内存分配关系最紧密的是堆和栈,而其中的栈就是Java虚拟机栈。

栈帧

每个方法执行时会创建一个相对应的栈帧,用来存储方法的局部变量表,操作数栈,方法出口,动态链接等。方法从开始到执行完毕,就标志着栈帧的入栈和出栈。

类似于每个方法的一个唯一标记。

局部变量表

局部变量表是在栈帧中存储的,也是程序猿最为关注的地方,局部变量表中存储了当前方法的所有变量,包括基本数据类型,引用类型,returnAddress类型(为字节码指令服务的,指向字节码指令的地址)。

异常状况

如果线程请求的栈的深度过大,会抛出StacckOverflowError异常。
如果扩展时无法申请到足够的内存,会抛出OutOfMemoryError异常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值