Jetzt kam ich vor kurzem in eine Empfehlung, dass Sie das Schlüsselwort final so weit wie möglich verwenden sollten. Dies ist gut, um zu verhindern, dass ein Programmierer sein eigenes Bein erschießt - das heißt, er weist die Variable neu zu, die nicht neu zugewiesen werden sollte.Hat das Keyword final Auswirkungen auf die JVM?
Aber dient es einem anderen Ziel? Das heißt, kann JVM Informationen über die endgültigen Variablen verwenden, um den Bytecode irgendwie zu optimieren, damit er schneller lief (ein besseres Pipelining erstellen oder ihn in einer Multithread-Umgebung verwenden)? Oder ist nur ein syntaktischer Zucker, der die Möglichkeit von Fehlern während der Codeentwicklung minimiert?
final oder Sie können konstante Hilfe in Compiler-Optimierungen sagen. zB: - Constant Folding, Constant Propagation –
Verwandte: http://stackoverflow.com/questions/3961881/why-defining-class-as-final-improves-jvm-performance?rq=1 – Patrick
"Oder ist nur ein syntaktischer Zucker das minimiert die Möglichkeit von Fehlern bei der Codeentwicklung? " Tatsächlicher intelligenter Gedanke minimiert Fehler. Ohne das ist das Schlusswort nicht nur syntaktischer Zucker, sondern auch ein Placebo. – Gimby