2016-12-16 3 views

答えて

0

それらの後にスロットがスキップされるようにlongとダブルスは、定数プール内の2つのスロットを取り上げます。この場合、スロット2はLongを保持するので、スロット3はスキップされます。

2

前のエントリがタイプLongを持っていることを注意してits documentationは言う:

全8バイトの定数はclassファイルのconstant_poolテーブルに2つのエントリを取ります。 CONSTANT_Long_infoまたはCONSTANT_Double_info構造体がconstant_poolテーブルのインデックスnの場合、プール内の次に使用可能なアイテムはインデックスn +2にあります。 constant_poolインデックスn +1は有効である必要がありますが、使用できないとみなされます。振り返ってみると

ときちんとしたほか

、8バイトの定数は2つの定数プールエントリを取る作ることはお粗末な選択でした。

のでjavap

...単に代わりに「 #3 unusable」のようなものを印刷する使用不可能エントリをスキップすることを決定しました
関連する問題