最近在看JVM(深入java虚拟机)
一个简单的java程序
对应的byteCode以及助记操作码如下
// Bytecode stream: 03 3b 84 00 01 1a 05 68 3b a7 ff f9
// Disassembly:
mnemonic bytecode offset
iconst_0 // 03 0
istore_0 // 3b 1
iinc 0, 1 // 84 2
// 00 3
// 01 4
iload_0 // 1a 5
iconst_2 // 05 6
imul // 68 7
istore_0 // 3b 8
goto -7 // a7 9
// ff 10
// f9 11
从sun的jvm spec上得知 ff 是保留操作码,不过这个f9没有查到是什么意思
望老手赐教,谢过了先!
一个简单的java程序
int i = 0;
for (;;) {
i += 1;
i *= 2;
} 对应的byteCode以及助记操作码如下
// Bytecode stream: 03 3b 84 00 01 1a 05 68 3b a7 ff f9
// Disassembly:
mnemonic bytecode offset
iconst_0 // 03 0
istore_0 // 3b 1
iinc 0, 1 // 84 2
// 00 3
// 01 4
iload_0 // 1a 5
iconst_2 // 05 6
imul // 68 7
istore_0 // 3b 8
goto -7 // a7 9
// ff 10
// f9 11
从sun的jvm spec上得知 ff 是保留操作码,不过这个f9没有查到是什么意思
望老手赐教,谢过了先!
Java循环字节码解析
本文解析了一个简单的无限循环Java程序的字节码指令及助记操作码,详细展示了其对应的字节码流和反汇编过程,并针对部分未明确的操作码进行了讨论。

被折叠的 条评论
为什么被折叠?



