Heim > Java > javaLernprogramm > Warum gibt „c == d' in Java „true' für „Integer c = 100' und „Integer d = 100' zurück?

Warum gibt „c == d' in Java „true' für „Integer c = 100' und „Integer d = 100' zurück?

DDD
Freigeben: 2024-12-08 00:43:16
Original
855 Leute haben es durchsucht

Why does `c == d` return `true` for `Integer c = 100` and `Integer d = 100` in Java?

Ganzzahl-Caching in Java

Abfrage:

Warum wird in Java der Vergleich c == d als wahr ausgewertet? obwohl es sich um unterschiedliche Integer-Objekte handelt (c = 100 und d = 100)?

Antwort:

Um die Leistung und Speichernutzung zu verbessern, verwendet Java einen Cache für ganzzahlige Objekte im Bereich von -128 bis 127. Folglich sind c und d verweisen auf dieselbe zwischengespeicherte Instanz.

Zweck der Optimierung:

  • Speichereinsparung: Durch das Zwischenspeichern allgemeiner ganzzahliger Werte spart Java erheblich Speicherplatz im Vergleich zur Erstellung separater Objekte für jeden einzelnen Wert.
  • Cache-Effizienz: Das Zwischenspeichern häufig verwendeter Ganzzahlwerte verbessert die Cache-Leistung durch Minimierung des Caches Fehler.

Vorteile:

  • Verbesserte Leistung: Reduzierter Speicherverbrauch und verbesserte Cache-Effizienz führen zu einer schnelleren Codeausführung.
  • Optimierte Speichernutzung: Durch das Zwischenspeichern von Ganzzahlen wird wertvoller Speicher frei Ressourcen für andere Anwendungen.

Forschung

Die folgenden Referenzen geben weitere Einblicke in dieses Thema:

  • [Java Platform SE 8 Sprache Spezifikation](https://docs.oracle.com/javase/specs/jls/se8/html/jls-5.html#jls-5.1.7)
  • [Autoboxing-Tutorial](https:// docs.oracle.com/javase/tutorial/java/data/autoboxing.html)

Das obige ist der detaillierte Inhalt vonWarum gibt „c == d' in Java „true' für „Integer c = 100' und „Integer d = 100' zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage