8

RCP製品の起動起動時間を最適化するための可能なJVMフラグを調べていると、これらの魅力的な名前-XX:UseFastEmptyMethodsとが見つかりまし-XX:UseFastAccessorMethodsた。

これらのフラグはJDK-6(およびデフォルトでオン)で使用可能でしたが、JDK-7ではデフォルトでオフに設定されていたようです。また、この最適化のトレードオフは、メソッド呼び出しカウンターが増加しないことです。

呼び出しカウンターを使用しないことの影響は何ですか?それはガベージコレクションに影響しますか?

4

1 に答える 1

9

これは、VMがコード内のホットスポットをより適切に識別できるように、メソッドの呼び出しカウントを正しく取得するためのものです。

ここからの議論に続いて

JDK6を使用している場合は、ターゲットJavaアプリケーションに次の2つのVMフラグを含める必要がある場合があります
。-XX:-UseFastEmptyMethods -XX:-UseFastAccessorMethods

そうしないと、空のメソッドとアクセサーメソッドはリストに表示されません。これは、「高速」バージョンではこれらのメソッドの呼び出しカウンターがインクリメントされないためです。JDK7では、これら2つのフラグはデフォルトでfalseに設定されているため、明示的にfalseに設定する必要はありません。


関連項目:

UseFastEmptyMethods/UseFastAccessorMethodsは有害と見なされます

于 2013-03-14T05:01:55.317 に答える