Ich habe eine for-Schleife, die 4096 Mal läuft und es sollte so schnell wie möglich sein. Leistung ist hier sehr wichtig. Derzeit verwende ich Getter-Methoden innerhalb der Schleife, die nur Werte oder Objekte aus Feldern zurückgeben, die sich während der Schleife nicht ändern.Java verwenden Getter in for-Schleife oder eine lokale Variable erstellen?
Beispiel:
for (;;) {
doSomething(example.getValue());
}
Gibt es einen Overhead-Getter verwendet? Ist es schneller wie folgt?
Beispiel:
Object object = example.getValue();
for (;;) {
doSomething(object);
}
Wenn ja, gilt das auch für wie example.value
öffentliche Felder zugreifen?
Edit: Ich System.out.println()
nicht in der Schleife verwenden.
Bearbeiten: Einige Felder sind nicht final
. Keine Felder sind volatile
und keine Methode (Getter) ist synchronized
.
Das Speichern der Ausgabe in einer lokalen Zeichenfolge wäre schneller als ein Getter oder eine Objektereferenz. Aber das wird in "teensy" – Jamie