一、栈内存的概述
栈内存是Java的一种内存,全称应该是java虚拟机栈,虚拟机栈是一个线程执行的区域,保存着一个线程中方法的调用状态。换句话说,是用来执行程序的,一个 Java线程的运行状态,由一个虚拟机栈来保存,所以虚拟机栈是线程私有的,独有的,随着线程的创建而创建,每个方法的执行对应一个栈帧,例如调用一个方法,就会向栈中压入一个栈帧;一个方法调用完成,就会把该栈帧从栈中弹出。栈中主要存放一些基本类型的变量和对象引用。
二、栈内存的特点
- 先进后出,后进先出;可以把栈内存比作一个水桶,先进去水在最下面,后进去的水在最上面,要想下面的水出来,要上面的水先出来,后面的水才能出来。
- 存在栈中的数据大小与生存期必须是确定的,存取速度比较快,从而也会导致缺少灵活性。
- 栈数据是可以共享。
三、栈内存的数据共享
例一:基本类型变量分析
int x = 1;
int y =