반응형

자바 String, StringBuilder, StringBuffer 속도 비교 

 

글. 수알치 오상문 

 

다음은 자바에서 제공하는 String, StringBuilder, StringBuffer 처리 속도를 비교하는 예제 코드입니다.

문자열에 다른 문자열을 계속 추가하는데 String은 새로운 객체를 생성하는 반면에 StringBuilder와 StringBuffer는 메모리에서 바로 작업하므로 String에 비해 처리 속도가 빠릅니다. StringBuffer는 멀티 스레딩에 안전하다는 장점도 있습니다.

 

실행 속도 :  StringBuilder, StringBuffer > String 

 

 

package check_speed;
public class Check_speed {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		long start, end;
		String s = "";
		StringBuilder sb = new StringBuilder("");
		StringBuffer sb2 = new StringBuffer(""); // 멀티 스레딩 안전함
		final int count = 100000;
		start = System.currentTimeMillis();
		for (int i = 0; i < count; i++)
			s.concat("ab");
		end = System.currentTimeMillis();
		System.out.println("String 걸린 시간: " + (end - start));
		start = System.currentTimeMillis();
		for (int i = 0; i < count; i++)
			sb.append("ab");
		end = System.currentTimeMillis();
		System.out.println("StringBuilder 걸린 시간: " + (end - start));
		start = System.currentTimeMillis();
		for (int i = 0; i < count; i++)
			sb2.append("ab");
		end = System.currentTimeMillis();
		System.out.println("StringBuffer 걸린 시간: " + (end - start));
	}
}

 

 

 

 

반응형

+ Recent posts