【031】2020.12.13 週日 Java類文件結構



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)

                    確定該類型的繼承關係

                字符表集合

                    描述符標識字符含義

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章