>  기사  >  Java  >  Java에서는 StringBuilder와 StringBuffer를 어떻게 비교합니까?

Java에서는 StringBuilder와 StringBuffer를 어떻게 비교합니까?

王林
王林앞으로
2023-08-28 15:57:061122검색

Java에서는 StringBuilder와 StringBuffer를 어떻게 비교합니까?

StringBuffer 개체는 일반적으로 여러 스레드가 동시에 동일한 StringBuffer 개체에 액세스하려고 시도할 수 있는 다중 스레드 환경에서 사용하는 것이 안전합니다. StringBuilder는 StringBuffer 클래스를 스레드로부터 안전하게 대체하는 클래스로, synchronized > 메서드가 없기 때문에 훨씬 빠르게 작동합니다. 단일 스레드에서 많은 문자열 작업을 수행하는 경우 이 클래스를 사용하면 성능이 향상될 수 있습니다.

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

출력

StringBuffer test: 192595
StringBuilder test: 85733

위 내용은 Java에서는 StringBuilder와 StringBuffer를 어떻게 비교합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제