程序开发

【031】2020.12.13 周日 Java类文件结构

2020-12-13  本文已影响0人  算法成瘾者
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)

                    确定该类型的继承关系

                字符表集合

                    描述符标识字符含义

上一篇下一篇

猜你喜欢

热点阅读