圖解i++和++i
public class Main{
public void a(){
int i=9; //之所以用9,不用0或者1是為了區別索引值。
int j=i;
}
public void b(){
int i=9;
int j=i++;
}
public void c(){
int i=9;
int j=++i;
}
}
這段程式碼編譯後 javap -c Main.class 然後會生成
Compiled from "Main.java"
public class Main {
public Main();
Code:
0: aload_0
1: invokespecial #1 // Method java/lang/Object."<init>":()V
4: return
public void a();
Code:
0: bipush 9 //將常量9壓入棧頂。
2: istore_1 //將棧頂元素彈出到本地區域性變數第一個。也就是把9賦值給i。
3: iload_1//把本地區域性變數壓入棧頂。
4: istore_2//把棧頂元素彈出到本地區域性變數第二個也就是j。
5: return
public void b();
Code:
0: bipush 9 //將常量9壓入棧頂。
2: istore_1//將棧頂元素彈出到本地區域性變數第一個。也就是把9賦值給i。
3: iload_1//把本地區域性變數壓入棧頂。
4: iinc 1, 1//對本地第1個區域性變數進行加1操作。也就是把i變成了10.
7: istore_2//把棧頂元素彈出到本地區域性變數第二個也就是j。
8: return
public void c();
Code:
0: bipush 9 //將常量9壓入棧頂。
2: istore_1/將棧頂元素彈出到本地區域性變數第一個。也就是把9賦值給i。
3: iinc 1, 1//對本地第1個區域性變數進行加1操作。也就是把i變成了10.
6: iload_1//把本地區域性變數壓入棧頂。也就是10壓入棧頂。
7: istore_2//把棧頂元素彈出到本地區域性變數第二個也就是j。
8: return
}
相關文章
- 你真的瞭解 i++, ++i 和 i+++++i 以及 i+++i++ 嗎?
- 你真的懂 i++ 和 ++i 嗎?
- 關於java中的i++和++iJava
- 位元組碼指令分析 ++i 和 i++
- C++複習整理---i++和++iC++
- synchronized下的 i+=2 和 i++ i++執行結果居然不一樣synchronized
- C++中的i++和++i你真的理解嗎?C++
- i++引發的慘案
- jvm是如何執行i = i++ + ++i的,你知道嗎?JVM
- 關於 i=i++ 問題、入棧順序
- 好程式設計師web前端教程分享初學者搞懂i++和++i程式設計師Web前端
- Java中 i=i++ 問題底層原理解析Java
- 一個關於 i++ 和 ++i 的面試題打趴了所有人面試題
- C#自增運算子詳解:++i與i++的區別及應用場景C#
- 面試官又整新活,居然問我for迴圈用i++和++i哪個效率高?面試
- 美團一面問我i++跟++i的區別是什麼
- Java變數自增表示式 i = i++ 的底層邏輯(簡述)Java變數
- Byteman 讓 i++ 百分百執行緒不安全執行緒
- 【Java面試高頻】i++和++i的區別,單例模式的多種實現以及區別,類和例項初始化順序,不看血虧Java面試單例模式
- 一道非常棘手的 常見Java 面試題:i++ 是執行緒安全的嗎?Java面試題執行緒
- npm i和npm i --production的區別NPM
- Go kit 呼叫圖解和腦圖Go圖解
- 圖解原型和原型鏈圖解原型
- 「譯」圖解 ArrayBuffers 和 SharedArrayBuffers圖解
- ? 圖解原型和原型鏈圖解原型
- i7和i5的處理器哪個好 英特爾i7和i5cpu哪個更好
- 處理器i5和i7有什麼區別 電腦i5和i7哪個更好
- Intel CPU(i3、i5、i7、i9)型號、效能詳細解讀Intel
- i5-8500和i7-7700K區別對比 i5 8500和i7 7700K哪個好?
- [題解]SFMOI Round I A~C
- [Atcoder DP I]Coins 題解
- I/O模型、Libuv和Eventloop模型OOP
- intel酷睿i5-8600和i5-8600k區別對比 i5 8600和i5 8600k哪個好?Intel
- Typescript版圖解Functor , Applicative 和 MonadTypeScript圖解APP
- IRP(I/O Request Package)詳解Package
- "萬字" Java I/O 詳解Java
- 網路I/O模型 解讀模型
- 用圖表和例項解釋 Await 和 AsyncAI
- intel酷睿i5 9400F和i5 8500效能對比評測,i5-9400F和i5-8500哪個好?Intel