Нужно ли беспокоиться о производительности в приведенном ниже примере и сохранять результат дорогого вызова, или компилятор узнает, что он может сделать дорогой звонок один раз?Оптимизация компилятора Java
String name;
if (object.expensiveCall() != null) {
name = object.expensiveCall().getName();
}
Если результаты получают данные из let say database или из сети, данные изменяются. Поэтому логически это не будет сохранено. – user717572
Это упростит код для простых случаев, которые могут быть встроены, и JVM (а не компилятор javac) может обнаружить, что побочных эффектов нет. –