java class文件中包含了java虚拟机所需知道的、关于类或者接口的所有信息。
class文件“基本类型”
                u1----1个字节            u2-----2个字节   u4----4个字节  u8----8个字节 
ClassFile表中各项:
                 1)magic(魔数)
                 每个java class文件的前4个字节被称为他的魔数(magic number): 0xCAFEBABE
                 作用:可以轻松地分辩出Java class文件和非java class文件。(如果一个文件不是以0xCAFEBABE开头,他就肯定不是Java class文件)
                 *文件格式定义者能够自由选择魔数,前提是这个选定的魔数值没有被广泛应用。
                 2)minor_version和major_version
                  class文件的下面4个字节包含了主、版本号。通常只有给定主版本号和一系列次版本号后,java虚拟机才能够读取class文件。
                  如果class文件的版本号超出了java虚拟机所能够处理的有效范围,java虚拟机将不会处理该class文件。
                  3)constant_pool.count和constant_pool
                  在class文件中,魔数和版本号后面的是常量池。常量池包含了与文件中类和接口相关的常量。常量池中存储了诸如文字字符串、
                  final变量值、类名和方法名的常量。
                  在动态连接的java程序中,常量池充当了十分重要的角色:
                   字面常量、类和接口的全限定名、字段的名称和描叙符、方法的名称和描叙符
                  4)access_flegs
                  紧接常量池后的两个字节称为access_flags,他展示了文件中定义的类或接口的几端信息。
                  例如,访问标志指明文件中定义的是类还是接口;访问标志还定义了在类或接口的声明中,使用了哪些修饰符;类和接口是抽象的
                  还是公共的;类的类型可以是final,而final类不可能是抽象的;接口不能是final类型
                  5)this_class
                  接下来的两个字节为this_class项,他是一个对常量池的索引。在this_class位置的常量池入口必须为CONSTANT_Class_info表。
                  该表由两个部分组成----标签和name_index
                  标签部分是一个具有CONSTANT_Class值的常量
                  name_index位置的常量池入口为一个包含子类或接口全限定名的CONSTANT_Utf8_info表。
                  6)super_class
                  在class文件中紧接在this_class之后的是super_class项,它是一个两个字节的常量池索引。在supper_class位置的常量池
                  入口是一个指向该类超类全限定名的CONSTANT_Class_info入口。
                  因为java程序中所有对象的基类都是java.lang.Object类,除了Object类之外,常量池入口super_class位置的项为java.lang.Object
                  7)interfaces_count和interfaces
                  紧接着super_class的是interfaces_count,此项的含义是:在文件中由该类直接实现或者由接口所扩展的父借口的数量。
                  8)fields_count和fields
                  在class文件中,紧接在interfaces后面的是对在该类或者接口中所声明的字段的描述
                  9)methods_count和methods
                  在class文件中,紧接着fields后面的是对在该类或者接口中所声明的方法的描述。首先是名为methods_count的计数,它是一个
                  双字节长度的对类或者接口中声明的所有方法的总计数。
                  10)attributes_count和attributes
                  class文件中最后的部分是属性(attribute),他给出了在该文件中类或者接口所定义的属性的基本信息。