深入理解JVM(四)

深入理解JVM(四)

第6章 类文件结构

1. 任何一个Class文件都对应唯一一个类或者接口。但反之不一定成立。(类和接口也可以通过类加载器直接生成)。
2.Class中文件字节序为大端。(大端:高低低高)(Intel的x86是小端)
3.每个Class文件开头4个字节叫魔数,Class是0xCAFEBABE。(恶心心。 话说当年看廖雪峰讲Win创建txt开头的4个东西估计也是这个。
4.Class文件格式
类型名称数量
u4magic1
u2minor_version1
u2major_version1
u2constant_pool_count1
cp_infoconstant_poolconstant_pool_count-1
u2access_flags1
u2this_class1
u2super_class1
u2interfaces_count1
u2interfacesinterfaces_count
u2fields_count1
field_infofieldsfields_count
u2methods_count1
method_infomethodsmethods_count
u2attribute_count1
attribute_infoattributesattributes_count
5.常量池

a) 字面量:String final变量
b) 符号引用:类和接口的全限定名, 字段的名称和描述符,方法的名称和描述符

6.Java程序如果定义了超过64KB英文字符的变量或方法名,将会无法编译。

第6章 类文件结构

1. 任何一个Class文件都对应唯一一个类或者接口。但反之不一定成立。(类和接口也可以通过类加载器直接生成)。
2.Class中文件字节序为大端。(大端:高低低高)(Intel的x86是小端)
3.每个Class文件开头4个字节叫魔数,Class是0xCAFEBABE。(恶心心。 话说当年看廖雪峰讲Win创建txt开头的4个东西估计也是这个。
4.Class文件格式
类型名称数量
u4magic1
u2minor_version1
u2major_version1
u2constant_pool_count1
cp_infoconstant_poolconstant_pool_count-1
u2access_flags1
u2this_class1
u2super_class1
u2interfaces_count1
u2interfacesinterfaces_count
u2fields_count1
field_infofieldsfields_count
u2methods_count1
method_infomethodsmethods_count
u2attribute_count1
attribute_infoattributesattributes_count
5.常量池

a) 字面量:String final变量
b) 符号引用:类和接口的全限定名, 字段的名称和描述符,方法的名称和描述符

6.Java程序如果定义了超过64KB英文字符的变量或方法名,将会无法编译。
7.Java虚拟机采用面向操作数而不是寄存器的架构。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值