介绍下Java内存区域
虚拟机栈
- 由栈帧组成
1.*Error :请求深度超过当前Java虚拟机栈的最大深度
2.outOfMemoryError: 如果虚拟机栈可扩展,无法申请到足够的内存
- 方法和函数如何调用?
每次函数调用都会有一个栈压入,调用结束后,都会有一个栈帧被弹出 - Java有两中方式返回
1.return
2.执行异常
本地方法栈
native 方法
程序计数器
- 字节码解释器通过改变程序计数器来依次读取指令,从而实现流程控制
- 在多线程情况下,程序计数器用来记录当前线程执行的位置
唯一一个不会出现OOM的内存区域,随线程创建而创建,随线程死亡而死亡