gpt4 book ai didi

java - Java 编译器会预先计算文字的总和吗?

转载 作者:搜寻专家 更新时间:2023-11-01 03:59:42 26 4
gpt4 key购买 nike

int i = 10 + 20;

是否编译器会处理这段代码,添加10 + 20,字节码是否与这行代码相同?

int i = 30;

我在哪里可以阅读它?

最佳答案

是的,您甚至可以自己验证。以一个小的 Java 文件为例:

public class Main {
public Main() {
int i = 10 + 20;
}
}

javac Main.java编译,然后运行javap -c Main反汇编:

Compiled from "Main.java"
public class Main extends java.lang.Object{
public Main();
Code:
0: aload_0
1: invokespecial #1; //Method java/lang/Object."<init>":()V
4: bipush 30
6: istore_1
7: return

}

在字节码中很明显,可以看到编译器的优化:bipush 30!

关于java - Java 编译器会预先计算文字的总和吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3898259/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com