3

最近、Jon Masamitsu の Weblogで、巨大なメソッド (8000 バイトのバイトコード) が HotSpot でコンパイルされた JIT ではないことを読みました。

だから私の質問は、特定のメソッドが持っているバイトコードのバイト数を(プログラマーとして)どのように見つけるのですか?

もちろん、JITコンパイラは知っているようです。この情報を.classファイルから抽出できますか?

4

1 に答える 1

7

javap -c mypackage.MyClassクラスのバイトコードをダンプするために使用できます(そして、各メソッドのサイズを確認します)

一般的に言えば、この制限に達する前に、メソッドが大きすぎて読んで理解できないことを知っておく必要があります。私見は、生成されたコードの問題です。ところで、メソッドには 65536 バイトのハード制限があります。

于 2012-07-05T13:12:34.630 に答える