???????Java Class???????
??????The JavaTM Virtual Machine Specification??(Second Edtion)???б?????Java Class?????8λ????????????е?16λ??32λ??64λ?????????????2????4????8???????????????????????????Big-endian?????????????λ??????(???????)?????Class???????????????????Java????(???????)??
???????????The JavaTM Virtual Machine Specification???е???????????????????????ο?????Inside the Java Virtual Machine??(Second Edtion)?е??????Java Class????????.class????????Java????????????????
?????????????????????????????????楨??????????????????????Java Class?????????????????????????????????????????????????????????????Class?????????????The JavaTM Virtual Machine Specification???ж????Class???????????????????????????????????JVM??????????????????????????????JVM?????class???????????class????????????????class????????????????????????????????????????????????????????????????Class?????????????淶??Class?????????JVM???????Class?????????????????????????????????????????????????????????????????????J
?????????????????????н??????????ο?????????????
????1)??The Java Virtual Machine Specification??(Second Edtion)??????JVM Spec??(2nded)??
????2)??Inside the Java Virtual Machine??(Second Edtion) ??????Inside JVM??(2nded)??
????????Java Class???????
???????Class????????????????????????
????1)???????????JVM Spec??(2nded)???????Java Class????????????????????????????????????????u1??u2??u4??????????????????????????1??2??4??????????????Inside JVM??(2nded)????У??????????????????????Class????????????????????????????????????????????У????????????????????Java Class??????????
????2)????????JVM Spec??(2nded)?е???壬??(table)?????????3?????????????Class??????С???JVM Spec??(2nded)???????Java Class?????????????????C???????д??α????????????α???????????????????????ClassFile????????α?????????????????????????е??????????α??????????С??????????????????????????????????????????????Class??ζ?????????????Class????и?????С???????????????????????????Class???????????????С????????????????????С???????????????????????????????????????
????3)??????Java Class???????????????????(items)???????????????????????????????????????????????????????????????????????Щ???????????????????????????????????????ClassFile???????????????α????????????Щ????????????Щ?????????????????????????????????????????С?????J????Щ??????????????????????????????????????(???????????????)????????????????????????JVM Spec??(2nded)????????Щ???????????????д?С?????????????????????????С????????????????????????????С????????????????Class????У?????????(????)???С????????????????????????????????????????JVM Spec??(2nded)???????????????Class????У???????淶?ж????????洢??Class????У???????????????κμ??????????????飩???????洢??????????????????????????Class???????
????????????????????????????????????????????濪????????Class?????????
??????????????????ClassFile??????????JVM Spec??(2nded)?ж????Class???????????????????Class?????????
????ClassFile???
ClassFile {
u4 magic;
u2 minor_version;
u2 major_version;
u2 constant_pool_count;
cp_info constant_pool[constant_pool_count-1];
u2 access_flags;
u2 this_Class;
u2 super_Class;
u2 interfaces_count;
u2 interfaces[interfaces_count];
u2 fields_count;
field_info fields[fields_count];
u2 methods_count;
method_info methods[methods_count];
u2 attributes_count;
attribute_info attributes[attributes_count];
}