• JVM笔记(5)--类文件结构(1)


    第一部分

         一 常量池的组成包括俩部分:1.常量池容量的计数值(u2类型的数据)。

                     2.常量池的俩类常量 :(1)字面量。(2)符号引用。

        注:1)常量池中的每一个常量都是一个表,常量表中分别有17种不同类型的常量。

          2)17种类型常量有一个共同的特点,表结构第一位是以u1类型的标志位,代表当前的常量属于那种常量类型。

     1 类 型                                标 志       描 述
     2 CONSTANT_Utf8_info               1          UTF-8编码的字符串
     3 CONSTANT_Integer_info            3          整型字面量
     4 CONSTANT_Float_info              4          浮点型字面量
     5 CONSTANT_Long_info               5          长整形字面量
     6 CONSTANT_Double_info             6          双精度浮点型字面量
     7 CONSTANT_Class_info              7        类或接口的符号引用
     8 CONSTANT_String_info             8        字符串类型字面量
     9 CONSTANT_Fieldref_info              9        字段的符号引用
    10 CONSTANT_Methodref_info           10         类中的方法的符号引用
    11 CONSTANT_InterfaceMethodref_info     11       接口的方法符号引用
    12 CONSTANT_NameAndType_info          12       字段或方法的部分符号引用
    13 CONSTANT_MethodHandle_info         15       表示方法句柄
    14 CONSTANT_MethodType_info          16       标识方法类型
    15 CONSTANT_Dynamic_info              17        表示一个动态计算常量
    16 CONSTANT_InvokeDynamic_info      17    表示一个动态方法调用点
    17 CONSTANT_Module_info       17    表示一个动态方法调用点
    18 CONSTANT_Package_info       17    表示一个动态方法调用点

        二 访问标志:是以2个字节代表访问标志,这个标志用于识别一些类或者接口层次的访问信息。

                                         2个字节  ---》产生16个标志位作用,但是当前只定义9个,还有7个未定义。

        三 类索引,父类索引和接口索引集合

          1)类索引                   u2          代表当前类的全限定名

          2)父类索引               u2          代表当前父类的全限定名

          3)接口索引集合        2*u2      当前类实现了那些接口

                       接口索引集合   第一个u2类型 表示接口计数量,表示索引量的容量。

                 第二个u2实现的接口(按照关键字后的接口顺序从左到右排列在接口集合中)。

  • 相关阅读:
    深入理解JavaScript闭包
    冒泡排序
    Objective-C中的self和super
    IOS中UIKit——UIButton的背景图像无法正常显示的原因
    IOS绘图——简单三角形
    NSDateFormatter中时间格式串的含义
    IOS屏幕布局
    IOS学习感想
    WWDC————苹果全球开发者大会
    刚开始学IOS遇到的类和方法
  • 原文地址:https://www.cnblogs.com/linyu1/p/14126996.html
Copyright © 2020-2023  润新知