Похоже, все согласны с тем, что пометка переменных-членов как окончательных дает выигрыш в производительности, поскольку им никогда не требуется перезагрузка из основной памяти. Мой вопрос в том, делают ли javac или Hotspot это автоматически, когда очевидно, что переменная не может измениться. например, сделает ли Javac окончательным 'x' в этом классе ниже...
Код: Выделить всё
public class MyClass {
private String x;
MyClass(String x) {
this.x = x;
}
public String getX() {
return x;
}
}
Во-вторых, предоставил ли кто-нибудь эмпирические доказательства того, что пометка членов как окончательных ускоряет работу кода? Какая-либо польза наверняка незначительна в любом приложении, выполняющем удаленные вызовы или поиск в базе данных?
Подробнее здесь:
https://stackoverflow.com/questions/554 ... variant-va