2011-09-23 114 views

回答

7

你的问题本身含有错误:方法本身不存储任何地方,你可以访问;有一个特殊的“方法空间”,其中载入代码。静态字段存储在类定义中,该类定义存储在称为“PermGen空间”的特殊堆区中;像普通方法一样,静态方法不会存储在普通的Java存储中。

+0

我听说的是,如果我们调用方法A()内的方法B()。方法B()存储在堆栈中A()的顶部。它是假的吗? – sam

+0

这是关于'A()'和'B()'中使用的*局部变量*的真实陈述;这些方法本身并不是真的。当你调用一个方法时,空间被放置在堆栈上作为局部变量;这样一个方法可以调用它自己,每个调用都有自己的一组局部变量。这与方法(代码?)本身的存储位置无关。 –