0

所以在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”和方法参数之外,还有哪些有趣的参数被复制到新的堆栈帧中?

.

4

1 回答 1

1

通常是指向调用指令的指针,以便 VM(在这种情况下,本机应用程序中的 CPU)知道在哪里设置指令指针(或PC - 程序计数器),以便正确展开堆栈

于 2009-07-02T07:08:10.910 回答