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) 'a'); } 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) 'a'); } System.out.println("StringBuilder test: " + (System.nanoTime() - startTime)); } }
StringBuffer test: 192595 StringBuilder test: 85733
위 내용은 Java에서는 StringBuilder와 StringBuffer를 어떻게 비교합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!