答案 0 :(得分:2)
请注意,前面的条目的类型为Long
,its documentation表示:
所有8字节常量占用
constant_pool
文件的class
表中的两个条目。如果CONSTANT_Long_info
或CONSTANT_Double_info
结构是索引 n 的constant_pool
表中的项目,则池中的下一个可用项目位于索引名词 2。 <{1}}索引 n +1必须有效,但视为无法使用。
和整齐的添加
回想起来,制作8字节常量需要两个常量池条目是不好的选择。
所以constant_pool
决定简单地跳过不可用的条目,而不是打印“javap
”之类的内容......
答案 1 :(得分:0)
Longs和Doubles在常量池中占用两个插槽,因此跳过它们之后的插槽。在这种情况下,插槽2保持长,因此插槽3被跳过。