码迷,mamicode.com
首页 > 其他好文 > 详细

第六章 类文件结构(读深入理解jvm虚拟机,随记)

时间:2016-02-27 00:48:03      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:

6.2  无关性的基石

   标题为什么是无关性基石呢。时至今日,商业机构和开源机构已经在java语言之外发展出一大批在java虚拟机上运行的语言。如Clojure,Groovy,Scala等。

   java虚拟机不和包括java在内的任何语言绑定,它只与“Class文件”这种特定的二进制文件格式有所关联。  java程序(*.java)------>javac编译器------>字节码文件----->java虚拟机。

6.3  Class类文件的结构

   如果想比较深入的了解虚拟机,那么这部分是不能不接触的。

   注意??:任何一个Class文件都对应着唯一一个类或接口的定义信息,但反过来说,类或接口并不一定都得定义在文件里(譬如类或接口也可以通过类加载器直接生成)。

  Class文件是一组以8位字节为基础单位的二进制流,各个数据项严格按照顺序紧凑地排列在Class文件之中,中间没有添加任何分隔符。

  Class文件采用一种类似于C语言结构体的伪结构来存储数据。其只有两种数据类型:无符号数和表。

  无符号数:属于基本数据类型。以u1,u2,u4,u8分别代表1个字节,2个字节,4个字节,8个字节的无符号数。无符号数可以用来描述:数字,索引引用,数量值或者按UTF-8编码构成字符串值。

  表是由多个无符号数或者其他表构成的复合数据类型。都以“_info”结尾。 整个Class文件本质上就是一张表。

  

    以上是Class文件的基本组成概述。后续继续详细介绍哪几个字节分别代表什么。

 

第六章 类文件结构(读深入理解jvm虚拟机,随记)

标签:

原文地址:http://www.cnblogs.com/zxCoding/p/5222110.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!