什么是字节码?字节码扩展名是什么?

什么是字节码?

参考《Java虚拟机规范Java SE7版》的描述来看,任何编程语言的编译结果满足并包含Java虚拟机的内部指令集、符号表以及一些其他辅助信息,它就是一个有效的字节码文件,就能够被虚拟机所识别并装载运行。在大部分情况下,字节码更多是存储在本地磁盘文件中,比如后缀名为“.class”的文件。每一个字节码文件都对应着全局唯一的一个类或者接口的定义信息,但这也并非绝对,类和接口并不一定都只能存储在文件里,它还可以通过类装载器直接在运行时生成。

字节码的结构

字节码结构组成比较特殊,其内部并不包含任何的分隔符区分段落,所以无论是字节顺序、数量都是有严格规定的,所有16位、32位、64位长度的数据都将构造成2个、4个和8个8位字节单位来表示,多字节数据项总是按照big-endian顺序(高位字节在地址最低位,低位字节在地址最高位)来进行存储。也就是说,一组8位字节单位的字节流组成了一个完整的字节码文件。

你可能感兴趣的