java笔记--class类文件结构初探
刚接触java的时候,就知道,java文件在运行时需要先通过编译器编译成.class的字节码文件,这个过程是编译,然后java虚拟机将.class的字节码文件加载到内存去读取,这个过程叫解释.虽然后来慢慢学会了用java写更加复杂的功能,但是对java的运行原理还是一知半解,或者说半知半解.后来看了一些java虚拟机方面的知识,慢慢的对class文件有了一些了解,这篇笔记通过解析最简单的输出helloworld的字节码文件的结构,来初步了解类文件的文件,虽然即使到现在,此时此刻,我还是搞不懂java的运行原理和过程,但已经向前迈出了一步,总是值得高兴的事.
知识准备:
class文件是以8位字节为一个基础单位的二进制流,中间没有分隔符.
class文件结构中有两种数据类型:
1.无符号数:基本数据类型,可以用来描述数字,索引引用,u1,u2,u4,u8分别1个字节,2个字节,4个字节,8个字节.
2.表.由多个无符号数和其他表组成的复杂数据类型.一般以"_info"结尾.用于描述有层次关系的复合结构数据.
这篇博文详细的讲了java类文件的结构可以参考,http://www.cnblogs.com/xiaoruoen/archive/2011/11/30/2267309.html
实例讲解:


浙公网安备 33010602011771号