【发布时间】:2010-12-15 10:34:05
【问题描述】:
大家好,我正在复习一些问题,但我无法真正弄清楚,我翻阅了教科书,但我不确定在哪里可以找到答案...
我知道做没有图片的内存图会很困难,但请多多包涵。
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)
现在,我看到 foo 是用 new 声明的,所以我知道实际的 Foo 类信息存储在堆中并且有一个框架?指针?它指向堆栈顶部的内存空间(在 foo 调用任何方法之前)。那么界面呢?那也会存储在堆中吗?
所以在堆栈的底部将是类 Love(也包含 int bar),一个指向堆中 Foo foo 的指针,一个用于 foo.love() 的框架,另一个框架 foo.love(),一个foo.val() 的框架,打印的框架?
我明白了吗?还是我真的很遥远?如果您知道我可以从哪里获得更多信息,请告诉我。我很感激任何意见..
【问题讨论】:
标签: java memory-management diagram