java编译器中的常量折叠是什么?

java编译器中的常量折叠是什么?,java,core,constantfolding,Java,Core,Constantfolding,可能重复: 嗨 我遇到过Java编译器使用常量折叠的情况。这是什么?它是如何影响的?常量折叠是编译器查找包含编译时常量的表达式,并将其替换为有效删除冗余运行时计算的结果 // code static final int a = 2; int b = 30 * a; // folding would create int b = 60; 常量折叠是在编译时简化常量表达式的过程。常量表达式中的术语通常是简单的文字,如整数2,但也可以是值从未修改过的变量,或显式标记为常量的变量

可能重复:


我遇到过Java编译器使用常量折叠的情况。这是什么?它是如何影响的?

常量折叠是编译器查找包含编译时常量的表达式,并将其替换为有效删除冗余运行时计算的结果

// code
static final int a = 2;
int b = 30 * a;

// folding would create
int b = 60;

常量折叠是在编译时简化常量表达式的过程。常量表达式中的术语通常是简单的文字,如整数2,但也可以是值从未修改过的变量,或显式标记为常量的变量