Heim  >  Artikel  >  Java  >  Wie vergleichen wir in Java StringBuilder und StringBuffer?

Wie vergleichen wir in Java StringBuilder und StringBuffer?

王林
王林nach vorne
2023-08-28 15:57:061078Durchsuche

Wie vergleichen wir in Java StringBuilder und StringBuffer?

StringBuffer-Objekte können im Allgemeinen sicher in Multithread-Umgebungen verwendet werden, in denen mehrere Threads möglicherweise gleichzeitig versuchen, auf dasselbe StringBuffer-Objekt zuzugreifen. StringBuilder ist ein Thread-sicherer Ersatz für die Klasse StringBuffer, die viel schneller arbeitet, da sie keine synchronisierten> Methoden hat. Wenn wir viele String-Operationen in einem einzelnen Thread ausführen, kann die Verwendung dieser Klasse die Leistung verbessern.

Beispiel

public class CompareBuilderwithBufferTest {
   public static void main(String []args) {
<strong>     </strong> stringBufferTest();
      stringBuilderTest();<strong>
</strong>   }
   public static void stringBufferTest() {
      long startTime = System.nanoTime();
      StringBuffer sb = new StringBuffer();
      for (int i=0; i < 1000; i++) {
         sb.append((char) &#39;a&#39;);
      }
      System.out.println("StringBuffer test: " + (System.nanoTime() - startTime));
   }
   public static void stringBuilderTest()<strong> </strong>{
      long startTime = System.nanoTime();
      StringBuilder sb = new StringBuilder();
      for (int i=0; i < 1000; i++) {
         sb.append((char) &#39;a&#39;);
      }
      System.out.println("StringBuilder test: " + (System.nanoTime() - startTime));
   }
}

Ausgabe

StringBuffer test: 192595
StringBuilder test: 85733

Das obige ist der detaillierte Inhalt vonWie vergleichen wir in Java StringBuilder und StringBuffer?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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