1.無關性基石
虛擬機和字節碼存儲格式
2. Class類文件的結構
2.1) 定義
Class文件是一組以8字節爲基礎單位的二進制流
2.2)Class文件格式:類似於C語言結構體的僞結構存儲
兩種數據類型
無符號數
u1,u2,u4,u8
表
_info結尾
某一類型的“集合”
2.3) 魔數與Class文件的版本
魔數
定義:每個Class文件的頭4個字節被稱爲“魔數”(magic number)
作用:確定是否被虛擬機接收的class文件
值:0xCAFEBABE (咖啡寶貝)
版本號
Minor Version 次版本號,第5,6字節
Major Version 主版本號,第7,8字節
常量池
喻爲資源倉庫
計數是從1而不是0開始的
兩大類常量
字面量(Literal)
符號引用(Symbolic References)
類的創建和動態連接
17種常量類型(JDK 13)
CONSTANT_Integer_info等
分析Class文件字節碼工具 javap
訪問標誌
access_flags
ACC_PUBLIC等(6個)
類索引,父類索引和接口索引集合
類索引(this_class)父類索引(super_class)接口索引集合(interfaces)
確定該類型的繼承關係
字符表集合
描述符標識字符含義