大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java學(xué)習(xí) Java指令集:GETSTATIC

Java指令集:GETSTATIC

更新時(shí)間:2022-08-30 10:42:15 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1261次

本文章向大家介紹JAVA指令集——GETSTATIC,主要包括JAVA指令集——GETSTATIC使用實(shí)例、應(yīng)用技巧、基本知識(shí)點(diǎn)總結(jié)和需要注意事項(xiàng)。

(indexbyte1<<8)|indexbyte2——得到index

1.從runtimeconstantpool中取得index處的運(yùn)行時(shí)常量A,A必須是指向字段的符號(hào)引用

FieldRef fieldRef = (FieldRef) runtimeConstantPool.getConstant(index);

2.A為指向字段B的符號(hào)引用,取得字段B的名字和描述符(要先取得字段B),以及字段B要所找的類或接口(也就是字段B所屬的類或接口)

          field = fieldRef.getResolvedFieldRef();
          JClass targetClazz = field.getClazz();

3.檢查字段B所屬的類是否已被初始化,如果沒有,就初始化

if (targetClazz.getInitState() == InitState.PREPARED) {
                frame.setNextPC(frame.getNextPC() - 3);//opcode + operand = 3bytes
                targetClazz.initClass(frame.getThread(), targetClazz);
                return;
            }

4.如果Field是不是靜態(tài)字段,拋出IncompatibleClassChangeError()

if (!field.isStatic()) {
                throw new IncompatibleClassChangeError();
            }

5.字段B的值存儲(chǔ)在字段所屬的類(接口)中的staticVars中,索引為slotID.

我們要取出這個(gè)值,放到棧幀的操作數(shù)棧中

String descriptor = field.getDescriptor();
            int slotID = field.getSlotID();
            Vars staticVars = targetClazz.getStaticVars();
            OperandStack stack = frame.getOperandStack();
            switch (descriptor.charAt(0)) {
                case 'Z':
                case 'B':
                case 'C':
                case 'S':
                case 'I':
                    stack.pushInt(staticVars.getInt(slotID));
                    break;
                case 'F':
                    stack.pushFloat(staticVars.getFloat(slotID));
                    break;
                case 'J':
                    stack.pushLong(staticVars.getLong(slotID));
                    break;
                case 'D':
                    stack.pushDouble(staticVars.getDouble(slotID));
                    break;
                case 'L':
                case '[':
                    stack.pushObjectRef(staticVars.getObjectRef(slotID));
                    break;
                default:

 

提交申請后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 久久久久青草线蕉亚洲麻豆 | 国产在线91观看免费观看 | 久热首页 | 99久久精品免费视频 | 九九热线精品视频6一 | 成人网在线看 | 91粉色视频在线观看 | 欧洲精品视频在线观看 | 亚洲阿v天堂在线观看2017 | 日本在线亚州精品视频在线 | 日本欧美视频在线 | 5566中文字幕亚洲精品 | 日本中文字幕不卡 | 久九九久福利精品视频视频 | 久久国产乱子伦精品免费不卡 | www.午夜色 | 色人阁网站| 国产成人一区二区三区 | 欧美一级欧美三级在线观看 | 国产欧美综合在线一区二区三区 | 国产色婷婷视频在线观看 | 国产在线看片护士免费视频 | 国产精品一区二区欧美视频 | 免看一级a毛片一片成人不卡 | 国产疯狂露脸对白 | 欧美777| 一区二区三区欧美日韩 | 国产人成精品免费视频 | 色婷婷5月精品久久久久 | 欧美中文字幕 | 高清欧美色欧美综合网站 | 好吊顶色| 四虎国产免费 | 亚洲欧美一级久久精品 | 久久视频这里只精品3国产 久久视频这里只有精品 | 成人亚洲网 | 欧美精品一区二区精品久久 | 在线观看www.| 久久99精品国产99久久 | 天天做天天干 | 国产欧美另类久久久精品免费 |