Java对象方法堆栈帧参数

时间:2009-07-02 06:39:45

标签: java oop stack heap

所以在java中,假设你在类'Foo'中有一个非静态方法'bar()'。

class Foo
{
    private int m_answer;

    public Foo()
    {
        m_answer = -1;
    }

    public void bar(int newAnswer)
    {
        m_answer = newAnswer;
    }
}

然后说你像这样调用这个方法:

Foo myFoo = new Foo();
myFoo.bar(42);

现在,调用的堆栈帧包含整数参数,以及用作对象内部引用的“this”参数。

除了'this'和方法参数之外,还有哪些其他有趣的参数被复制到新的堆栈帧?

1 个答案:

答案 0 :(得分:1)

通常是指向调用指令的指针,因此VM(在本例中为本机应用程序中的CPU)将知道在何处设置指令指针(或PC - Program Counter),以便正确展开堆栈< / p>

相关问题