Javac или Hotspot автоматически добавляют «final» в качестве оптимизации инвариантных переменных?JAVA

Программисты JAVA общаются здесь
Anonymous
Javac или Hotspot автоматически добавляют «final» в качестве оптимизации инвариантных переменных?

Сообщение Anonymous »

Похоже, все согласны с тем, что пометка переменных-членов как окончательных дает выигрыш в производительности, поскольку им никогда не требуется перезагрузка из основной памяти. Мой вопрос в том, делают ли 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

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