【发布时间】:2015-01-07 17:50:34
【问题描述】:
我知道一个类的静态方法和非静态方法都存放在方法区。
但是我真的很怀疑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
【问题讨论】:
-
@almasshaikh 是的。但是我google的大部分资料,只告诉我存储本地最终变量的位置。例如,这个[stackoverflow.com/questions/5947352/…。
-
@vikeng21 感谢您的 cmets,也许可以点击此链接作为参考:artima.com/insidejvm/ed2/jvm2.html
-
@RRR 感谢您的评论。但我也想知道最终成员的存储。
标签: java memory-management static final