在class文件中,紧接在this_class之后是super_class项,它是一个两个字节的常量池索引。在super_class位置的常量池入口是一个指向该类超类全限定名的CONSTANT_Class_info入口。因为Java程序中所有对象的基类都是java.lang.Object类,除了Object类以外,常量池索引super_class对于所有的类均有效。对于Object类,super_class...
publicclassTest2{publicstaticinti=1;publicstaticvoidmain(){ System.out.println(i); } } 通过十六进制查看工具打开Test2.class。 根据ClassFile 结构说明,前面4个字节是魔数oxcafebabe。接下来是次版本号和主版本号ox0000和ox0034,十进制为0和52,52表示JDK1.8,所以JDK版本是1.8.0。 还可以使用java自带的反编...
publicclassPerson{privateStringname;publicPerson(Stringname){this.name=name;}@OverridepublicStringtoString(){return"Person{name='"+name+"'}";}publicstaticvoidmain(String[]args){Personperson=newPerson("Alice");System.out.println(person);}} 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ...
public class ClassFile { private U4 magic; // 魔数 private U2 minor_version; // 副版本号 private U2 magor_version; // 主版本号 private U2 constant_pool_count; // 常量池计数器 private CpInfo[] constant_pool; // 常量池 private U2 access_flags; // 访问标志 private U2 this_class; //...
如果class文件的super_class的值为0,那这个class文件只可能用来表示Object类,因为它是唯一没父类的类。对于接口来说,class文件的super_class项必须常量池表中某项的一个有效索引值。常量池在这个索引处的成员必须为代表Obect类的CONSTANT_Class_info结构interfaces_count(接口计数器)infterfaces_count项的值表示当前类...
super_class:父类索引,用于确定这个类父类的全限定名(Java语言不允许多重继承,故父类索引只有一个。除了java.lang.Object类之外所有类都有父类,故除了java.lang.Object类之外,所有类该字段值都不为0),占2字节 interfaces_count:接口索引计数器,占2字节。如果该类没有实现任何接口,则该计数器值为0,并且后面的...
public class memoryarea.virtualstack.Demo implements java.io.Serializable minor version: 0 major version: 52 flags: ACC_PUBLIC, ACC_SUPER Constant pool: #1 = Methodref #2.#3 // java/lang/Object."<init>":()V #2 = Class #4 // java/lang/Object ...
1.1 class文件结构 字段 占位(byte) 值(参照图1-A) Decimal 解释 magic 4 0xCAFEBABE 不用记 与扩展名功能类似,但不可轻易修改 minor_version 2 0x0000 0 次版本号:不能低于该版本 major_version 2 0x0034 52 主版本号:即java 1.8,不能高于该版本 ...
简介:反射基础Class类类加载反射的使用Class类对象的获取Constructor类及其用法Field类及其用法Method类及其用法反射机制执行的流程反射获取类实例反射获取方法调用 method.invoke() 方法反射调用流程小结JAVA反射机制是 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够...
Class ObjectOutputStream implements object serialization. It maintains the state of the stream including the set of objects already serialized. Its methods control the traversal of objects to be serialized to save the specified objects and the objects to which they refer. ...