在java中有任何称为“常量折叠”的概念吗?

时间:2010-01-06 11:26:55

标签: java constantfolding

在java中有任何称为“常量折叠”的概念吗?如果是的话是什么?

2 个答案:

答案 0 :(得分:9)

是的,有。

来自this JavaWorld article你可以自己搜索一下!):

static final int length = 25;
static final int width = 10;
int res = length * width;
  

执行时间不用于乘以这些值;相反,乘法在编译时完成。修改以下变量赋值的代码以生成表示宽度和长度乘积的字节码:

int res  = 250;

答案 1 :(得分:6)

  

Constant folding是在编译时简化常量表达式的过程。常量表达式中的术语通常是简单的文字,例如整数2,但也可以是其值永远不会被修改的变量,或者显式标记为常量的变量

是的,它存在于Java:Compiler optimizations