


Wie geht der String-Pool von Java mit Strings um, die mit dem Schlüsselwort „new' erstellt wurden?
Dec 16, 2024 pm 02:00 PMJava's String Pool Explorations
Betrachten Sie den folgenden Code:
String first = "abc"; String second = new String("abc");
Frage 1: String Pool Verwendung mit neuem Schlüsselwort
Wenn Java als zweites mit dem initialisiert wird new String()-Konstruktor, erstellt er eine völlig neue abc-String-Instanz?
Antwort: Ja, die Verwendung von new stellt die Erstellung eines neuen String-Objekts sicher.
Frage 2: Heap- und String-Pool-Speicher
Wird die neu erstellte String-Instanz (aus dem neuen Schlüsselwort) im regulären Speicher gespeichert? Heap oder der String-Pool?
Antwort: Alle Objekte, einschließlich String-Objekte, befinden sich auf dem Heap. Der String-Pool ist kein separater Speicherbereich; Es handelt sich um einen Cache-ähnlichen Mechanismus.
Frage 3: Anzahl der String-Pools
Wie viele Instanzen des Strings „abc“ landen im String-Pool?
Antwort: Wenn Sie unveränderliche String-Literale erstellen, platziert Java diese im Allgemeinen automatisch im String Pool. In diesem speziellen Szenario gilt jedoch Folgendes:
- erstens wird eine Referenz auf den abc-String aus dem String-Pool zugewiesen.
- zweite wird mit dem neuen String("abc") erstellt Erstellen Sie ein separates String-Objekt, das nicht im String-Pool gespeichert wird.
Daher in diesem Fall nur eins „abc“ String-Instanz wird im String-Pool vorhanden sein.
Das obige ist der detaillierte Inhalt vonWie geht der String-Pool von Java mit Strings um, die mit dem Schlüsselwort „new' erstellt wurden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Wie funktioniert der Klassenladungsmechanismus von Java, einschließlich verschiedener Klassenloader und deren Delegationsmodelle?

Top 4 JavaScript -Frameworks in 2025: React, Angular, Vue, Svelte

Wie kann ich JPA (Java Persistence-API) für Objektrelationszuordnungen mit erweiterten Funktionen wie Caching und faulen Laden verwenden?

Wie benutze ich Maven oder Gradle für das fortschrittliche Java -Projektmanagement, die Erstellung von Automatisierung und Abhängigkeitslösung?

Node.js 20: wichtige Leistungssteigerung und neue Funktionen

ICEBERG: Die Zukunft von Data Lake Tabellen

Spring Boot Snakeyaml 2.0 CVE-2022-1471 Problem behoben

Wie kann ich funktionale Programmierungstechniken in Java implementieren?
