基本数据类型一定存放在栈中嘛?

179 阅读1分钟

答案肯定是错误的! 存放在堆中还是栈中取决于在哪里声明?
1 在方法中声明的基本数据类型,是局部变量,存放在栈中,因为栈中存放多个栈帧,每个方法的执行过程都是一个栈帧入栈到出栈的过程,方法执行完,超出局部变量的作用域,局部变量就被java的垃圾收集器回收了。
2 在类中声明的基本数据类型,是属性,存放在堆中,不会随着方法的执行而被回收。