局部变量存在栈中。
因为局部变量的生命周期是在函数的执行期间内,当函数被调用时会在栈上动态地分配内存空间,函数执行结束后,内存空间也会被自动释放,所以局部变量存在栈中。
值得注意的是,如果一个局部变量是通过new等方式在堆上动态分配的,该变量仍然存在堆中,但变量本身仍然是栈上的一个引用。