【发布时间】:2021-02-18 19:47:05
【问题描述】:
Java 中哪个字节码更大或相同?
if (a > b) a = b;
对
if (a > b) {
a = b;
}
【问题讨论】:
标签: java jvm bytecode jvm-bytecode javacompiler
Java 中哪个字节码更大或相同?
if (a > b) a = b;
对
if (a > b) {
a = b;
}
【问题讨论】:
标签: java jvm bytecode jvm-bytecode javacompiler
这些编译成完全相同的东西。
【讨论】:
javap -c path/to/MyClass.class 自行查找
a > b 或 a <= b,并逐步检查代码,以检查实际执行了哪些指令。您会看到,对于每个变体,执行相同的指令,顺序只有一个细微差别,istore_2, goto 与 goto, istore_2。总是一样的工作……