Mid*_*lue 17 java static class
如果我们将对象存储在对象的静态字段中,JVM如何为它分配内存?它是否存在于"隐含"(不确定我是否使用正确的单词)类对象中?静态字段与对象字段有何不同?
Nic*_*sen 14
静态字段是类变量,并在该类的所有实例之间共享.实例变量(或我认为你称之为的对象字段)属于类的各个实例,不共享.
至于它们存储在内存中的位置将基于JVM的实现,并且没有理由需要两个不同的JVM来按规范将它们存储在同一个地方(据我所知,至少应该插入)适当的规格表链接在这里).
正如Nick的回答所说,语言规范没有规定具体的"物理"位置,但就你可以推理的逻辑心理模型而言,它可能会帮助你将静态字段视为附加到类对象(Foo.class)这些领域所属的类.
顺便说一句,类对象在其他方面(即使用的是例如,调用时:由语言规范规定的)与静态实体打交道时synchronized静态方法,锁认为方法属于该类的类对象至.