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

实例讲解:    

posted @ 2016-05-02 20:26  冬至饮雪  阅读(101)  评论(0)    收藏  举报