Будет ли компилятор (или JVM) знать, что нужно оптимизировать этот фрагмент кода? как мне проверить?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Будет ли компилятор (или JVM) знать, что нужно оптимизировать этот фрагмент кода? как мне проверить?

Сообщение Anonymous »

Предположим, у меня есть этот класс

Код: Выделить всё

Util
{
public static void doSomething()
{
if (FLAG) foo();
else bar();
}

public static void foo() { /* do something */ }
public static void bar() { /* do something else */ }

public static final boolean FLAG = computeFlag();
private static boolean computeFlag() { /* do some computation during init time*/ }
}
, очевидно, никогда не изменится.
И предположим, что Util.doSomething() используется МНОГО (и во многих критических местах, где производительность имеет значение).
Будет ли компилятор Java или JVM достаточно умным, чтобы кэшировать тело doSomething, чтобы коду не приходилось повторно оценивать FLAG или выполнять всю инструкцию ветвления еще раз?
Как это проверить?

Подробнее здесь: https://stackoverflow.com/questions/206 ... ow-do-i-ch
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»