JVM笔记-6Java虚拟机栈(Java虚拟机栈基本认识)

学习JVM的一点简单笔记,宋红康老师jvm讲的很好,感谢。

尚硅谷JVM全套教程,百万播放,全网巅峰(宋红康详解java虚拟机)


Java虚拟机栈概述Java Virtual Machine Stacks

JVM是基于栈式架构的。
在这里插入图片描述

栈是运行时的单位,堆是存储的单位。

栈管运行,堆管存储。

在这里插入图片描述
在这里插入图片描述
虚拟机栈:

线程私有的。

内部保存栈帧,一个栈帧对应一个Java方法。


在这里插入图片描述
在主线程中,执行以上代码,所以这里就只有一个线程,即用一个栈表示。一个线程对应一个Java虚拟机栈。

在这里插入图片描述
栈顶的方法称为 当前方法。当方法b执行完,出栈,方法a变成当前方法。

一次次方法调用,就对应着一个个栈帧的入栈出栈。


在这里插入图片描述
局部变量可以是 八种基本数据类型、对象的引用地址(new的对象本身是存放在堆空间中的)

在这里插入图片描述
pc程序计数器:不存在gc、oom:就是存放下一条指令的地址。

Java虚拟机栈存在oom(内存溢出),不存在gc(操作简单进栈出栈);

栈:FILO(first in last out 先进后出)

队列:先进先出


开发中哪些常见的异常? 啥是异常?
在这里插入图片描述
自己调自己 StackOverflowError 异常
在这里插入图片描述


设置栈大小
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
所需内存大于,设置虚拟机栈内存的值,会报错StackOverflowError。

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值