国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

Class文件詳解 (2)

2019-11-18 14:53:39
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

  今天繼續(xù)分析Class文件的結(jié)構(gòu)。

上次讀取了constant pool,緊接著是這個(gè)類或接口的access flags,JVM定義的關(guān)于class或interface的Access flags有:

    PRivate static short ACC_PUBLIC    = 0x0001;
    private static short ACC_FINAL     = 0x0010;
    private static short ACC_SUPER     = 0x0020;
    private static short ACC_INTERFACE = 0x0200;
    private static short ACC_ABSTRACT  = 0x0400;

    // read access flags:
    short access_flags = input.readShort();
    System.out.print("Access flags:");
    if((access_flags & ACC_PUBLIC) == ACC_PUBLIC)
        System.out.print(" public");
    if((access_flags & ACC_FINAL) == ACC_FINAL)
        System.out.print(" final");
    if((access_flags & ACC_SUPER) == ACC_SUPER)
        System.out.print(" super");
    if((access_flags & ACC_INTERFACE) == ACC_INTERFACE)
        System.out.print(" interface");
    if((access_flags & ACC_ABSTRACT) == ACC_ABSTRACT)
        System.out.print(" abstract");
    System.out.println();

然后是this class和super class:

    // read this class and super class:
    short this_class_index = input.readShort();
    short super_class_index = input.readShort();
    System.out.println("This class = " + this_class_index);
    System.out.println("Super class = " + super_class_index);

根據(jù)this class的index可以從constant pool中得到這個(gè)class的信息,super class也一樣。每個(gè)class都有super class,只有Object的super class index=0。

接下來(lái)是這個(gè)class繼續(xù)了多少個(gè)interface和每個(gè)interface在constant pool中的index:

    // read interfaces count:
    short interfaces_count = input.readShort();
    System.out.println("Interfaces count = " + interfaces_count);
    // read each interface:
    for(int i=1; i<=interfaces_count; i++) {
        short interface_index = input.readShort();
        System.out.println("No. " + i + " interface index = " + interface_index);
    }

結(jié)果如下:

    Access flags: public final super
    This class = 2
    Super class = 4
    Interfaces count = 0

待續(xù)...


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 芦山县| 永新县| 兰坪| 团风县| 武冈市| 阳山县| 洛川县| 萨迦县| 双辽市| 莫力| 龙泉市| 达尔| 贵溪市| 南岸区| 介休市| 辽源市| 宝坻区| 赤峰市| 福清市| 永定县| 满城县| 辽源市| 商洛市| 长垣县| 七台河市| 巢湖市| 门头沟区| 罗甸县| 襄垣县| 威远县| 临夏市| 潮安县| 越西县| 唐海县| 栖霞市| 繁昌县| 旬邑县| 信丰县| 息烽县| 基隆市| 临颍县|