小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Class文件詳解 (2)

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

上次讀取了constant pool,緊接著是這個類或接口的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中得到這個class的信息,super class也一樣。每個class都有super class,只有Object的super class index=0。

接下來是這個class繼承了多少個interface和每個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ù)...

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多