Java栈

Java栈的基本概念

Java栈,栈也叫栈内存,主管Java程序的运行,是在线程创建时创建,它的生命期是跟随线程的生命期,线程结束栈内存也就释放,对于栈来说不存在垃圾回收问题,只要线程一结束该栈就Over,生命周期和线程一致,是线程私有的。8种基本类型的变量+对象的引用变量+实例方法都是在函数的栈内存中分配。

Java栈存储什么?

栈帧中主要保存3类数据:

  • 本地变量(Local Variables):输入参数和输出参数以及方法内的变量;
    例如

public int add(int x,int y){
  int res = -1;
  res = x + y;
  return res;
}

就会保存add方法中的输入参数x、y,输出参数res,以及方法中的局部变量res。

  • 栈操作(Operand Stack):记录出栈、入栈的操作;
  • 栈帧数据(Frame Data):包括类文件、方法等等。

Java栈运行原理

原文地址:https://www.cnblogs.com/wuren-best/p/14638926.html