문자열 버퍼 개체는 일반적으로 다중 스레드 환경에서 사용하기에 안전합니다. 여러 스레드가 동일한 StringBuffer 액세스를 시도하는 경우 동시에 객체. StringBuilder 스레드로부터 안전한 StringBuff를 대체합니다. r 동기화 가 없기 때문에 훨씬 빠르게 작동합니다. 행동 양식. 단일 스레드에서 많은 문자열 작업을 수행하면 많은 성능을 얻을 수 있습니다. 이 클래스를 사용할 때.
예시
public class CompareBuilderwithBufferTest { public static void main(String []args) { stringBufferTest(); stringBuilderTest(); } 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() { 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