如何区分JVM ClassFile中的attribute_info?

时间:2018-03-03 07:46:31

标签: jvm bytecode .class-file jvm-bytecode

我正在挖掘The ClassFile Structure

根据上述文件,attribute_info可以出现在不同的位置。

我的问题是如何区分attribute_info的类型?

我知道我可以通过constant_info来区分tag

我如何区分attribute_info s?

所有attribute_info都是这样的。

attribute_info {
    u2 attribute_name_index;
    u4 attribute_length;
    u1 info[attribute_length];
}

而且Fields似乎有attribute_info ConstantValueSynthetic等等。

我如何区分他们的类型?

1 个答案:

答案 0 :(得分:1)

我明白了。

  

constant_pool处的attribute_name_index条目必须是CONSTANT_Utf8_info结构(§4.4.7),表示该属性的名称。