Javaに「コンスタントフォールディング」と呼ばれる概念はありますか? はいの場合、それは何ですか?
1256 次
2 に答える
10
はいあります。
このJavaWorldの記事から(自分でグーグルで検索できたはずです!):
static final int length = 25;
static final int width = 10;
int res = length * width;
これらの値を乗算するために実行時間は使用されません。代わりに、乗算はコンパイル時に行われます。次の変数割り当てのコードは、幅と長さの積を表すバイトコードを生成するように変更されています。
int res = 250;
于 2010-01-06T11:31:39.227 に答える
7
定数の折りたたみは、コンパイル時に定数式を単純化するプロセスです。定数式の項は通常、整数 2 などの単純なリテラルですが、値が変更されない変数、または定数として明示的にマークされた変数にすることもできます。
はい、Java に存在します:コンパイラーの最適化
于 2010-01-06T11:29:46.250 に答える