У меня есть цикл for, который работает 4096 раз, и он должен быть как можно быстрее. Производительность здесь действительно важна. В настоящее время я использую методы getter внутри цикла, которые просто возвращают значения или объекты из полей, которые не изменяются во время цикла.
Пример:
for (;;) {
doSomething(example.getValue());
}
Есть ли накладные расходы с использованием геттеров? Быстро ли это происходит следующим образом?
Пример:
Object object = example.getValue();
for (;;) {
doSomething(object);
}
Если да, это также верно для доступа к публичным полям, например example.value
?
Изменение: я не использую System.out.println()
внутри цикла.
Изменение: некоторые поля не являются final
. Никакие поля volatile
и никакой метод (геттер) не synchronized
.