嗨,我回顧了一些問題,但我真的不能看着辦吧,我看着通過文字的書,但我不知道在哪裏可以找到答案......java和內存佈局
我知道這將是很難做記憶圖W/O圖片,但請與我一起。
interface Lovable
public void love();
class Foo implements Lovable
public void love();
// something
public int val()
// return something1
public class Love
public static void main(String args [])
Foo foo = new Foo()
foo.love()
foo.love()
int bar = =foo.val()
System.out.print(v)
現在,我看到富都被定義爲new
,所以我知道實際的Foo類信息存儲在堆,並有一個框架?指針?指向堆棧頂部的堆內存空間(在foo調用任何方法之前)。那麼界面怎麼樣?那會被存儲在堆中嗎?
所以堆棧的底部將是Love類(也包含int bar),一個指向堆中Foo foo的指針,foo.love()的另一個框架,另一個foo.love()框架, foo.val()的框架,用於打印的框架?
我明白了嗎?還是我真的很遠?如果您知道我可以從哪裏獲得更多信息,請告訴我。我很欣賞任何輸入。
一張非常漂亮的照片! – 2009-11-11 12:10:28
這很奇怪... – Skilldrick 2009-11-11 12:28:52
哦,是的,它有3個武器。 – 2009-11-11 12:31:44