-1

それは同じですか?または、静的関数の new は、インスタンス メソッドのものとは異なる方法で割り当てますか?

4

1 に答える 1

6

いいえ、効果は同じです。静的メソッド スコープと非静的メソッド スコープからの割り当てに違いはありません。スタックとヒープ (C/C++ など) での割り当てのようなものを考えている場合、この違いは Java ではそれほど顕著ではなく、どこnewから呼び出しているかに影響されません。デフォルトでは、 を使用するたびにnew、オブジェクトをヒープに割り当てます。最新の JVM (Java6 以降) ではいくつかの例外があります。これは、エスケープ解析などの最適化によって引き起こされます(スレッドの場合はスタックにオブジェクトを割り当てる可能性があります)。限定されたローカル スコープ)。ただし、ローカルのプリミティブ変数と参照は常にスタックにプッシュされます。

于 2012-04-24T15:12:59.057 に答える