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
Ответить

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

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

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

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

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