问题已经得到了回答: is there any concept called "Constant Folding" in java?,但这一页的答案我找不到: https://www.javaworld.com/jw-03-2000/jw-03-javaperf_4.html
所以这段代码是:
class A
{
public static void main()
{
int x=123;int y=234;int z=345;
int a=x+y+z;
}
}
我用javap-c判断汇编代码,它不做常量折叠优化:
public static void main();
Code:
0: bipush 123
2: istore_0
3: sipush 234
6: istore_1
7: sipush 345
10: istore_2
11: iload_0
12: iload_1
13: iadd
14: iload_2
15: iadd
16: istore_3
17: return
好像javac没有像GCC的O2那样的优化选项,所以如果Java编译器做的是常量折叠优化,我怎么能看到呢?