Heim > Java > JavaBase > Hauptteil

Der Unterschied zwischen String, Stringbuffer und Stringbuilder

hzc
Freigeben: 2020-06-19 17:24:55
Original
2682 Leute haben es durchsucht

Der Unterschied zwischen String, Stringbuffer und Stringbuilder

Was sind die Unterschiede zwischen String, Stringbuffer und Stringbuilder?

In einem Telefoninterview wurde der Redakteur gefragt, ob StringBuilder Thread-sicher ist . Es ist sicher, damit herauszuplatzen, aber die Leute fragen mich, ob Sie 2 Jahre Entwicklungserfahrung haben. Wenn ich diesen Kurs längere Zeit nicht nutzte, vergaß ich meine Wahl. Man kann auch sagen, dass das Fundament nicht stark ist. Ich weiß nicht, ob einer von euch eine solche Erfahrung gemacht hat, deshalb sollte ich es besser schriftlich festhalten, um mein Gedächtnis zu verbessern.

String: Jeder weiß, dass String mit final geändert wird, sodass sein Wert unveränderlich ist. Dies führt dazu, dass bei jeder Operation an String ein neues String-Objekt generiert wird. Dies ist auch eine große Menge an Verschwendung Begrenzter Speicherplatz, wie in der Abbildung gezeigt:

Der Unterschied zwischen String, Stringbuffer und Stringbuilder

Wir können sehen, dass der anfängliche String-Wert „abc“ ist, und dann nach dieser Zeichenfolge eine neue Zeichenfolge „bv“ hinzufügen. Dieser Vorgang erfordert das erneute Öffnen des Speicherplatzes im Stapelspeicher. Ich muss sagen, dass die Zeichenfolge „abcbv“ den Speicherplatz entsprechend öffnen muss dass dies eine enorme Verschwendung von Speicherplatz ist. Um häufige stringbezogene Vorgänge zu bewältigen, wurden zwei neue Klassen – die StringBuffer-Klasse und die StringBuild-Klasse – eingeführt, um solche sich ändernden Strings zu verarbeiten.

Der Unterschied zwischen String, Stringbuffer und Stringbuilder

StringBuilder-Klasse: vorgeschlagen in Java 5, gekennzeichnet durch veränderbare Zeichenfolgen. Hohe Ausführungseffizienz und Thread-Unsicherheit.

StringBuffer-Klasse: zeichnet sich durch variable Zeichenfolgen, geringe Ausführungseffizienz und Thread-Sicherheit aus.

Man sieht, dass die Zeit schneller ist.

Zusammenfassung:

  • Wenn Sie eine kleine Datenmenge verarbeiten möchten, verwenden Sie String;

  • Multithread-Betrieb String-Puffer-Operation Eine große Datenmenge StringBuffer

  • Ein einzelner Thread betreibt eine große Datenmenge StringBuilder unter dem String-Puffer.

Empfohlenes Tutorial: „Java-Tutorial

Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen String, Stringbuffer und Stringbuilder. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!