12
現在、私はちょうどJavaバイトコードを使用するプロジェクトに入っています。 「DUP」を行う必要がありますなぜここ新しいインスタンスを作成するときにDUPを行う理由
NEW <MyClass>
DUP
INVOKESPECIAL <MyClass.<init>>
:私は通常、新しいクラスのインスタンスを作成し、それに対してメソッドを呼び出したとき、バイトコードは次のようになることを参照してください? VM Specから、「オペランドスタックのトップ値を複製し、その重複した値をオペランドスタックにプッシュする」という記述を得る。しかし、なぜここでオペランドスタックのトップ値を複製する必要がありますか?ありがとう。