Deklarieren von Variablen als endgültige interne Methode und Leistung [duplizieren]

9

Bedeutet das Deklarieren von Variablen als final innerhalb einer Methode einen Vorteil aus Sicht der Leistung / des Speichers in den neuesten Java-Versionen?

Ich spreche hier nicht über irgendeinen anderen Vorteil.

Diese Frage Verwendet das endgültige Schlüsselwort in Java die Leistung verbessern? wurde vor fast sieben Jahren angesprochen , seitdem wurden einige Fortschritte gemacht.

    
aurelius 23.06.2017, 11:56
quelle

2 Antworten

3

Nein, final keyword für eine lokale Variable hat keine Auswirkungen auf die Leistung und kann theoretisch auch nicht auftreten, da .class files diese Informationen nicht speichern.

Siehe diese Antwort für Details.

>     
apangin 23.06.2017, 12:49
quelle
1

final keyword hat keine direkten Auswirkungen auf die Leistung, wenn wir über Variablen sprechen, aber in einigen Anwendungsfällen die Leistung verbessern können.
Beispiel:

  1. Bei der Iteration in einer Schleife, wenn die Variable final ist, wird JIT nicht nach einer Ursache suchen, die den Wert der Liste ändern kann ( Referenz ).
  2. final ermöglicht es, dass eine Variable in den aufrufenden Code eingebunden wird, was zu einer gewissen Speicher- und Leistungsverbesserung führen kann. Dies wird verwendet, wenn Sie mehrere öffentliche statische End-Strings in einer Klasse haben ( Referenz ).
  3. final keyword verbessert die Leistung. Nicht nur JVM kann die letzte Variable zwischenspeichern, sondern die Anwendung kann häufig auch finale Variablen cachen ( check) hier für 3 und 4 ).
  4. final Schlüsselwort ermöglicht JVM eine optimierte Methode, Variable oder Klasse.
Nishant Bhardwaz 23.06.2017 13:16
quelle

Tags und Links