堆区、栈区和方法区
堆区:只存放类对象,线程共享;
方法区:又叫静态存储区,存放class文件和静态数据,线程共享;
栈区:存放方法局部变量,基本类型变量区、执行环境上下文、操作指令区,线程不共享;
例:
下列Java代码中的变量a、b、c分别在内存的____存储区存放。
class
A {
private
String a = “aa”;
public
boolean methodB() {
Stringb = “bb”;
finalString c = “cc”;
}
}
解析:
a属于类所以在堆中。bc属于方法,b c为局部变量,局部变量不属于任何类或者实例,因此它总是保存在其所在方法的栈内存中。
参考:Big_Foot
< (小白一枚,请多指教) />