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

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

王林
王林nach vorne
2019-11-25 17:13:342294Durchsuche

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");

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen