第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

istore 指令是否從 main 方法中的索引 1 開始?

istore 指令是否從 main 方法中的索引 1 開始?

MMTTMM 2023-11-01 16:36:08
鑒于指令istore_<n>及其文檔:n 必須是當(dāng)前幀的局部變量數(shù)組的索引(第 2.6 節(jié))。它沒有指定它從哪個(gè)索引開始。我假設(shè)為 0。對于給定的 istore 操作,它應(yīng)該增加 1。給定一個(gè)簡單的類:public class TestingStuff {    public static void main(String[] args) {        int a = 11;        int b = 12;    }    public static void test() {        int c = 13;        int d = 14;    }}我希望這兩種方法有不同的框架。a那么這應(yīng)該意味著存儲和的指令b將是istore_0和istore_1。c以及用于存儲和 的相同索引d。但由于某種原因,main方法中的索引從 開始1。這似乎總是如此。但我找不到任何有關(guān)原因的信息。javap 的輸出:  public static void main(java.lang.String[]);    descriptor: ([Ljava/lang/String;)V    flags: ACC_PUBLIC, ACC_STATIC    Code:      stack=1, locals=3, args_size=1         0: bipush        11         2: istore_1         3: bipush        12         5: istore_2         6: return  public static void test();    descriptor: ()V    flags: ACC_PUBLIC, ACC_STATIC    Code:      stack=1, locals=2, args_size=0         0: bipush        13         2: istore_0         3: bipush        14         5: istore_1         6: return是這樣嗎?如果是這樣,為什么?
查看完整描述

1 回答

?
慕少森

TA貢獻(xiàn)2019條經(jīng)驗(yàn) 獲得超9個(gè)贊

靜態(tài)方法的參數(shù)作為從位置 0 開始的局部變量傳入。因此,對于,數(shù)組位于位置 0 的局部變量中。編譯執(zhí)行某些操作的代碼應(yīng)該可以證明這一點(diǎn),盡管我沒有編譯器便利。mainargsargs

(對于實(shí)例方法,this位于位置 0,然后其余參數(shù)從位置 1 開始。)

查看完整回答
反對 回復(fù) 2023-11-01
  • 1 回答
  • 0 關(guān)注
  • 143 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號