JVM-类文件结构
2016-03-24 23:01
246 查看
无关性的基石
I> "平台无关性"实现在操作系统的应用层上:sun公司以及其他虚拟机提供商发布了许多可以运行在各种不同平台上的虚拟机,这些虚拟机都可以载入和执行同一种平台无关的字节码,从而实现了程序的"一次编码,到处运行".II> 各种不同平台的虚拟机与所有平台都统一使用的程序存储格式--字节码是构成平台无关性的基石.
III> Java虚拟机不和包括Java 在内的任何语言绑定,它只与"class文件"这种特定的二进制文件格式所关联,class文件中包含了Java虚拟机指令集和符号表示以及其他若干辅助信息.
IV> Java语言中的各种变量,关键字和运算符的语义最终都是由多条字节码命令组成的,因此字节码命令所能提供的语义描述能力肯定会比Java语言本身更强大.
Class类文件结构
I> Class文件是一组以8位字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑地排列在Class文件中,中间没有添加任何分隔符,这使得整个Class文件中存储的内容几乎全部是程序运行的必要数据,没有空隙存在.当遇到需要占用8为字节以上空间的数据项时,则会按照高位在前的方式分割成若干个8为字节进行存储.
II> 无符号数属于基本的数据类型,以u1,u2,u4,u8来代表1个字节,2个字节,4个字节,8个字节的无符号数,无符号数可以用来描述数字,索引引用,数量值或者按照UTF-8编码构成字符串指.
III> 表是由多个无符号数或者其他作为数据项构成的复合数据类型,所有表都习惯性地以"_info"结尾.表用于描述有层次关系的复合结构的数据,整个Class文件本质上就是一张表.
相关文章推荐
- leetcode Palindrome Number 009
- 安装cvxpy时解决ImportError: No module named multiprocessing
- iOS 25个性能优化/内存优化常用方法
- The method onClick(View) of type MainActivity must override or implement a supertype method
- JDBC学习笔记(五):模拟银行转账
- XP下vs2008-qt4.8.6编译Qgis:QwtPolar编译
- java多线程编程
- hdu5592/BestCoder Round #65 树状数组寻找第K大
- CMake一步步入门
- 15教育技术冯志超
- 为什么Nginx的性能要比Apache高很多
- 整流滤波电路图绘制后,元件自动编号
- 转2进制,然后求和
- spring学习笔记(17)数据库配置[1]spring数据连接池详解
- 算法题的五种解法二——模式匹配法
- Android——LayoutParams的用法
- HDU 2034 人见人爱A-B(坑呀...格式)
- Java 创建线程的两种方法
- 周记
- django入门记录 1