Heim > Java > JavaErste Schritte > Hauptteil

Der Unterschied zwischen zwei Arten der Objektinstanziierung in der String-Klasse von Java

王林
Freigeben: 2019-11-25 17:13:34
nach vorne
2295 Leute haben es durchsucht

Der Unterschied zwischen zwei Arten der Objektinstanziierung in der String-Klasse von Java

Unterschied:

Direkte Zuweisung: Es wird nur ein Heap-Speicherplatz geöffnet und das String-Objekt kann automatisch im Objektpool gespeichert werden . für den nächsten Gebrauch.

Konstruktionsmethode: Es werden zwei Heap-Speicherplätze geöffnet, von denen einer zu Müllspeicherplatz wird und nicht automatisch im Objektpool gespeichert wird. Sie können den Pool mit der Methode intern() manuell betreten.

Empfohlene Java-bezogene Video-Tutorials: Java-Video-Tutorials

Direkte Zuweisung:

Der Unterschied zwischen zwei Arten der Objektinstanziierung in der String-Klasse von Java

Konstanter Optimierungsmechanismus:

Der Entwurf der String-Klasse verwendet das gemeinsame Entwurfsmuster.

Am Ende der JVM wird tatsächlich automatisch ein Objektpool (String-Objektpool) verwaltet. Wenn jetzt der direkte Zuweisungsmodus zum Instanziieren des Objekts der String-Klasse verwendet wird, wird das instanziierte Objekt (String) automatisch verwaltet Inhalt) werden automatisch in diesem Objektpool gespeichert.

Wenn Sie beim nächsten Mal weiterhin den direkten Zuweisungsmodus verwenden, um String-Klassenobjekte zu deklarieren, wird der angegebene Inhalt im Objektpool direkt referenziert.

Wenn nicht, wird ein neuer Inhalt verwendet Die Zeichenfolge wird geöffnet. Das Objekt wird dann für die nächste Verwendung im Objektpool gespeichert. Der sogenannte Objektpool ist ein Objektarray (der Zweck besteht darin, den Overhead zu reduzieren).

Konstruktormethodenzuweisung:

Es ist Standardpraxis, dass Klassenobjekte mithilfe von Konstruktoren instanziiert werden.

String str = new String("hello");
Nach dem Login kopieren

Durch die Analyse kann festgestellt werden, dass bei Verwendung der String-Konstruktionsmethode zwei Heap-Speicherplätze geöffnet werden und einer der Heap-Speicher zu Müllraum wird. Zusätzlich zu diesem Manko gibt es auch Probleme bei der gemeinsamen Nutzung von Zeichenfolgen.

Daher wird grundsätzlich die direkte Zuordnung übernommen.

Empfohlene verwandte Artikel und Tutorials: Erste Schritte mit Java

Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen zwei Arten der Objektinstanziierung in der String-Klasse von Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
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