黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 Java指令集:GETSTATIC

Java指令集:GETSTATIC

更新時間:2022-08-30 10:42:15 來源:動力節點 瀏覽1325次

本文章向大家介紹JAVA指令集——GETSTATIC,主要包括JAVA指令集——GETSTATIC使用實例、應用技巧、基本知識點總結和需要注意事項。

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

1.從runtimeconstantpool中取得index處的運行時常量A,A必須是指向字段的符號引用

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

2.A為指向字段B的符號引用,取得字段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是不是靜態字段,拋出IncompatibleClassChangeError()

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

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

我們要取出這個值,放到棧幀的操作數棧中

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:

 

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 黄色aqq | 一级黄色一级片 | 亚洲男女一区二区三区出奶水了 | 欧美午夜春性猛交xxxx | 国产ppp视频在线观看 | 精品国产一区二区三区不卡 | 一级一片一a一片 | 国产农村三片免费网站 | 精品在线免费视频 | 免费91最新地址永久入口 | 激情插插 | 日韩在线观 | 亚洲视频网址 | 97色在线观看免费视频 | 欧美一级看片免费观看视频在线 | 欧美成人看片一区二区三区 | 一级片免费在线观看 | 欧美另类高清 videos | 久久久久国产一级毛片高清板 | 欧美性猛交xxxxxxxx软件 | 欧美日韩高清不卡一区二区三区 | 最近中文字幕完整视频高清10 | 欧美成年人网站 | 日本三级免费网站 | 亚洲美女影院 | 深夜福利影院在线观看 | 污网站进入 | 亚洲有码转帖 | 亚洲综合偷自成人网第页色 | 日韩免费一级 | 图片区亚洲色图 | 亚洲成成品网站有线 | 男女猛烈无遮挡性视频 | 国产成人精品日本亚洲专一区 | 高清国产一区二区 | 成人影院在线播放 | 超薄肉色丝袜精品足j福利 超级碰人人 | 婷婷伊人五月天 | 国产婷婷色一区二区三区深爱网 | 国产精品入口麻豆免费观看 | 免费看a级|