JVM-栈

image.png

8.栈

1.Java虚拟机栈执行的是Java方法,每个线程运行时所需要的栈,称为虚拟机栈。
2.每个栈由多个栈帧组成,对应着每次方法调用时所占用的内存。
3.每个线程只能有一个活动栈帧,对应着当前正在执行的那个方法。
在这里插入图片描述

图 为什么main()先执行,最后结束~

栈:先进后出
桶:后进先出
队列:先进先出( FIFO : First Input First Output )
栈:栈内存,主管程序的运行,生命周期和线程同步; 线程结束,栈内存也就是释放,对于栈来说,不存在垃圾回收问题 一旦线程结束,栈就Over! 栈内存中:

8大基本类型+对象引用+实例的方法

栈运行原理:栈帧 栈满了: StackOverflowError

在这里插入图片描述

图 栈的位置示意图

程序正在执行的方法,一定在栈的顶部~
死循环会造成StackOverflow Error

在这里插入图片描述

图 栈帧图解 栈底部子帧指向上一个栈的方法 上一个栈的父帧指向栈底部方法

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。