日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

java - 怎么理解JVM中的iload和istore指令

瀏覽:228日期:2024-01-27 17:03:24

問題描述

我最近在學(xué)習(xí)JVM,被istore和iload兩條指令困擾了。以下是我查看《Java虛擬機(jī)規(guī)范》得到的解釋

將一個(gè)局部變量加載到操縱棧的指令包括:iload、iload_、lload…

將一個(gè)數(shù)值從操作數(shù)棧存儲(chǔ)到局部變量表的指令包括:istore、istore_、lstore…

下面是我的java代碼

public static int add(int a,int b){int c=0;c=a+b;return c; }

下面是編譯后的字節(jié)碼,也加上了我的理解,如果解釋不恰當(dāng),謝謝指出

0: iconst_0//常量0壓入操作數(shù)棧1: istore_2//彈出操作數(shù)棧棧頂元素,保存到局部變量表第2個(gè)位置2: iload_0 //第0個(gè)變量壓入操作數(shù)棧3: iload_1 //第1個(gè)變量壓入操作數(shù)棧4: iadd //操作數(shù)棧中的前兩個(gè)int相加,并將結(jié)果壓入操作數(shù)棧頂5: istore_2//彈出操作數(shù)棧棧頂元素,保存到局部變量表第2個(gè)位置6: iload_2 //加載局部變量表的第2個(gè)變量到操作數(shù)棧頂7: ireturn //返回

從上面字節(jié)碼的分析看,指令4已經(jīng)將計(jì)算結(jié)果壓入到操作數(shù)棧了,而指令6又是把結(jié)果壓入到操作數(shù)棧,這不是重復(fù)工作嗎。如果存入操作數(shù)棧的意義是為了可以store到局部變量表中,那第6步又為什么要load到操作數(shù)棧上。不知道,是不是我哪步理解錯(cuò)了,謝謝指點(diǎn)。

問題解答

回答1:

如果把代碼換成

public static int add(int a,int b){int c=0;return a+b; }

那么指令對(duì)應(yīng)就是:

0: iconst_0 1: istore_2 2: iload_0 3: iload_1 4: iadd 5: ireturn

編譯器就是按照代碼來生成的,如果直接 return a + b,那么也不會(huì)多出來第五步和第六步。

回答2:

樓上正解,其實(shí)結(jié)合代碼看下就可以很明白的看出原因了。

首先這個(gè)方法是靜態(tài)方法,所以局部變量數(shù)組【0】【1】【2】對(duì)應(yīng)的變量分別為a、b、c;

0: iconst_0//常量0入棧1: istore_2//將棧頂出棧,即c=0;2: iload_0 //復(fù)制a變量的值入棧3: iload_1 //復(fù)制b變量的值入棧4: iadd //將棧頂兩個(gè)元素出棧,做加法,然后把結(jié)果再入棧(即a,b出棧,將a+b入棧)5: istore_2//棧頂元素出棧,即c=和; 此時(shí)棧為空6: iload_2 //將c賦值壓入棧7: ireturn //返回棧頂元素回答3:

一個(gè)小錯(cuò)誤,局部變量表的index是從0開始的。

編譯器生成的字節(jié)碼完全是按照方法中的語義生成的,沒有太多優(yōu)化。

iadd指令對(duì)應(yīng)的a+b中加法操作,下一步的istore_2對(duì)應(yīng)的就是c=的賦值操作,也就是保存到局部變量表,后面的iload_2對(duì)應(yīng)的就是return中取c的值。

標(biāo)簽: java
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
视频一区国产视频| 日韩在线一二三区| 日韩精品亚洲一区二区三区免费| 亚洲二区免费| 999国产精品永久免费视频app| 国产一区二区三区不卡av| 欧美aⅴ一区二区三区视频| 国产精品分类| 国产在线视频欧美一区| 色婷婷色综合| 精品精品99| 免费观看亚洲| 久久国产直播| 午夜欧美精品久久久久久久| 欧美日韩高清| 午夜一区在线| 婷婷久久免费视频| 国产精品伊人| 欧美激情视频一区二区三区在线播放| 麻豆精品视频在线| 在线精品亚洲欧美日韩国产| 久久影视一区| 人人精品人人爱| 国产伦精品一区二区三区在线播放 | 国产精品99在线观看| 日韩av有码| 精品欧美激情在线观看| 视频一区国产视频| 国产精品亚洲四区在线观看| 麻豆精品一区二区综合av| 色婷婷色综合| 先锋亚洲精品| 国产欧美成人| 久久电影tv| 视频在线在亚洲| 国产精品调教视频| 精品资源在线| 亚洲午夜视频| 日韩av一区二区在线影视| 国产成人精品亚洲线观看| 亚洲网站视频| 国产探花一区| 亚洲成人一区在线观看| 先锋亚洲精品| 国产中文欧美日韩在线| 亚洲综合日韩| 欧美国产日本| 国产亚洲福利| 欧美激情aⅴ一区二区三区| 成人羞羞视频播放网站| 亚洲理论在线| 国产一区国产二区国产三区| 亚洲欧洲一区| 精品国产网站| 蜜桃一区二区三区在线| 精品福利久久久| 视频精品一区二区| 久久久久久一区二区| 鲁大师成人一区二区三区| 卡一卡二国产精品| 日韩视频二区| 久久99国产精品视频| 99在线精品免费视频九九视| 麻豆国产91在线播放| 模特精品在线| av资源中文在线| 久久午夜精品| 中文字幕在线看片| 69堂免费精品视频在线播放| 亚洲成人二区| 美女精品一区二区| 午夜久久av| 欧美中文字幕一区二区| 国产精品任我爽爆在线播放| av一区二区高清| 久久精品国产久精国产| 日韩欧美高清一区二区三区| 欧美午夜精彩| 风间由美中文字幕在线看视频国产欧美| 免费成人在线影院| 欧美日韩精品一区二区视频| 国产日产高清欧美一区二区三区 | 国产一区二区三区四区大秀| 亚洲男人在线| 香蕉精品视频在线观看| 精品久久久久中文字幕小说| 少妇精品久久久一区二区| 久久五月天小说| 国产a久久精品一区二区三区| 日韩中文字幕一区二区高清99| 久久一区二区中文字幕| 国产一二在线播放| 国产欧美三级| 亚洲一二三区视频| 亚洲免费高清| 国产综合亚洲精品一区二| 精品久久电影| 麻豆视频久久| 欧美一级二级视频| 亚洲日韩视频| 国产精品腿扒开做爽爽爽挤奶网站| 日韩免费av| 国产一区二区三区亚洲综合| 国产九九精品| 日韩成人一级| 亚洲网址在线观看| 久久大逼视频| 亚洲一区激情| 亚洲福利久久| 免费视频国产一区| 久久蜜桃av| 欧美亚洲精品在线| 日韩毛片在线| 日韩一区亚洲二区| 高清不卡一区| 国产va在线视频| 国产91在线播放精品| 你懂的亚洲视频| 九九久久国产| 国产传媒在线观看| www.九色在线| 日韩av福利| 日韩欧美精品综合| 桃色av一区二区| 99成人在线视频| 欧美日韩国产高清| 久久高清国产| 日韩精选在线| 国产日韩在线观看视频| 国产精久久一区二区| 免费亚洲婷婷| 四虎国产精品免费观看| 中文在线а√天堂| 国产91精品对白在线播放| 欧美精品一线| 天堂va欧美ⅴa亚洲va一国产| 欧美一区二区三区久久| 国产福利一区二区三区在线播放| 国产女人18毛片水真多18精品| 欧美国产专区| 国产v日韩v欧美v| 亚洲激情中文| 综合一区在线| 国产精品一区二区三区av| 精品亚洲精品| 91精品一区二区三区综合| 99日韩精品| 日本一区二区中文字幕| 久久gogo国模啪啪裸体| sm久久捆绑调教精品一区| 亚洲一级特黄| 亚洲+小说+欧美+激情+另类| 久久国产生活片100| 久久av免费看| 神马久久午夜| 老鸭窝亚洲一区二区三区| 久久精品 人人爱| 91视频久久| 尹人成人综合网| 日韩精品一级| www.com.cn成人| 影音先锋久久精品| 欧美国产另类| 亚洲国产成人精品女人| 91精品国产自产精品男人的天堂| 精品72久久久久中文字幕| 亚洲91视频| 日韩高清不卡一区二区| 精品国产亚洲一区二区在线观看| 久久精品青草| 亚洲精品激情| 成人国产精品久久| 日韩中文字幕av电影| 欧美黄色精品| 在线亚洲观看| 欧美a在线观看| 亚洲免费影院| 精品国产午夜| 久热re这里精品视频在线6| 国产精品亚洲产品| 在线一区视频| 久久久久97| 亚洲欧美网站| 狠狠久久伊人中文字幕| 麻豆精品网站| 欧美国产一级| 日韩高清三区| 99久久99视频只有精品| 欧美日韩网址| 九一精品国产| 麻豆成人91精品二区三区| 视频一区视频二区中文| 黄色aa久久| 91精品日本| 9色国产精品| 激情视频网站在线播放色| 日韩国产在线观看| 欧美福利一区| 麻豆精品久久久| 日韩有码av|