3

私が JVM を理解している限り、通常、新しいオブジェクトを作成するよりも、メソッドを呼び出す (つまり、新しいスタック フレームを割り当てるなど) 方が安価です。

ただし、メソッドとオブジェクトの両方が同じ型の同じ数のローカル/インスタンス変数を宣言し、それらを同じ値にインスタンス化すると仮定すると、2 つの一般的なオーバーヘッドの違いがどれほど大きいかを見積もることができますか?

4

2 に答える 2

1

最新の JVM では、オブジェクトの作成は非常に高速です。たとえば、この記事を参照してください。「Sun は、約 10 個のマシン命令で割り当てコストを見積もっています」と述べています。

于 2013-02-08T12:41:21.173 に答える
0

そのシナリオでは、method()をクラスにスキャフォールディングする必要がありますが??

また、JVMヒープ自体にクラスを登録するには、メンバー(method())のミーム割り当てが含まれます。

したがって、いずれにせよ、オブジェクトの作成は少し高い側にあります。

于 2013-02-08T12:00:51.640 に答える