Was ist ein String-Pool in Java?
Was ist ein String-Pool in Java?

Video: Was ist ein String-Pool in Java?

Video: Was ist ein String-Pool in Java?
Video: Пул строк в Java | String pool | Фрагмент лекции JavaRush - университета 2024, April
Anonim

Wie der Name schon sagt, String-Pool in Java ist ein Schwimmbad von Saiten gespeichert in Java Heap-Speicher. Wir wissen das Zeichenfolge ist eine Sonderklasse in Java und wir können erstellen Zeichenfolge -Objekte einen neuen Operator verwenden und Werte in doppelten Anführungszeichen angeben.

Wozu dient der String-Pool in Java auf diese Weise?

Die Java-String Konstante Schwimmbad ist ein Bereich im Heap-Speicher, in dem Java speichert wörtlich Schnur Werte. Der Heap ist ein Speicherbereich Gebraucht für Laufzeitoperationen. Wenn eine neue Variable erstellt und mit einem Wert versehen wird, Java überprüft, ob dieser genaue Wert in der Datei vorhanden ist Schwimmbad.

Wie funktioniert String im String-Pool? Um die Anzahl der zu verringern Zeichenfolge in der JVM erstellte Objekte, die Zeichenfolge Klasse hält ein Schwimmbad von Saiten . Jedes Mal a Schnur Literal erstellt wird, überprüft die JVM die Schnur wörtlich Schwimmbad Erste. Wenn die Schnur existiert nicht in der Schwimmbad , eine neue Zeichenfolge Objekt initialisiert und wird in die Schwimmbad.

Warum ist in diesem Zusammenhang ein String-Pool erforderlich?

Es ist sicher, weil Zeichenfolge ist in Java unveränderlich. Als Ergebnis zeigen sowohl s als auch t auf dasselbe Objekt und es wird wenig Speicher gespart. Name ' String-Pool ' kommt von der Idee, dass alles bereits definiert ist Schnur werden in einigen gespeichert ' Schwimmbad ' und bevor Sie neu erstellen Zeichenfolge Objekt-Compiler prüft, ob solche Schnur ist bereits definiert.

Was ist Hauptspeicher in Java?

Erstens durch " Haupterinnerung "wir meinen 'die Java Haufen, wie von der JVM gesehen'. Der JVM steht es im Allgemeinen frei, an einer lokalen Kopie einer Variablen zu arbeiten. Ein JIT-Compiler könnte beispielsweise Code erstellen, der den Wert von a. lädt Java Variable in ein Register und arbeitet dann an diesem Register.

Empfohlen: