Java存储最终成员和静态成员的地方在哪里?
我知道一个类的静态方法和非静态方法都存储在方法区域中。
但我真的怀疑Java在哪里存储对象的最终变量(常量)成员和静态变量成员。
例如,
class A{
private final int a = 1;
private static int b = 2;
private static final int c = 3;
//other codes...
}
我想知道Java在内存中存储a,b,c的位置。 堆,堆栈或方法区域?
======更新=====
嘿,谢谢你的帮助。请允许我分享有关jvm组件的链接:http://www.artima.com/insidejvm/ed2/jvm2.html
在Java虚拟机实例中,有关加载类型的信息存储在称为method area
的内存逻辑区域中。类中声明的类(静态)变量的内存取自方法区域。
所有实例变量都将存储在heap area
,包括最终成员。
上一篇: Where does the Java store the final member and static member?