java에서 String, StringBuffer, 그리고 StringBuilder의 차이점
C.S./java / 2008/06/25 11:06
String은 변경되지 않는(immutable) 반면에,
StringBuffer와 StringBuilder는 그 값을 변경할 수 있다.
StringBuffer와 StringBuilder의 유일한 차이점은,
StringBuffer가 동기화(synchronized)되고, StringBuilder는 동기화되지 않는(unsynchronized) 것이다.
따라서, 프로그램이 단일 쓰레드 환경(single thread)에서 동작해야 한다면,
StringBuilder를 쓰는 것이 낫다.
StringBuilder가 StringBuffer보다 더 효율적(efficient)이다.
다음은, String, StringBuffer, 그리고 StringBuilder를 선택하는 기준이다.
ref)
http://www.java-tips.org/java-se-tips/java.lang/difference-between-string-stringbuffer-and-stringbu.html
StringBuffer와 StringBuilder는 그 값을 변경할 수 있다.
StringBuffer와 StringBuilder의 유일한 차이점은,
StringBuffer가 동기화(synchronized)되고, StringBuilder는 동기화되지 않는(unsynchronized) 것이다.
따라서, 프로그램이 단일 쓰레드 환경(single thread)에서 동작해야 한다면,
StringBuilder를 쓰는 것이 낫다.
StringBuilder가 StringBuffer보다 더 효율적(efficient)이다.
다음은, String, StringBuffer, 그리고 StringBuilder를 선택하는 기준이다.
- 문자열(text)이 변경되지 않을 것이라면, String을 사용한다. 왜냐하면, String은 변경되지 않기 때문이다.
- 문자열(text)이 변경되고, 단일 쓰레드 환경(single thread)에서 동작한다면,
StringBuilder를 사용한다. 왜냐하면, StringBuilder는 비동기적(unsynchronized)이기 때문이다. - 문자열(text)이 변경되고, 다중 쓰레드 환경(multi threads)에서 동작한다면,
StringBuffer를 사용한다. 왜냐하면, StringBuffer는 동기적(synchronized)이기 때문이다.
ref)
http://www.java-tips.org/java-se-tips/java.lang/difference-between-string-stringbuffer-and-stringbu.html
'C.S. > java' 카테고리의 다른 글
| JVM GC와 메모리 Tuning (0) | 2008/08/19 |
|---|---|
| 톰캣6를 jconsole로 보기 - tomcat analysis using jconsole in Java 5 (0) | 2008/07/24 |
| IOUtils.closeQuietly() of Apache Commons I/O (0) | 2008/06/30 |
| java에서 String, StringBuffer, 그리고 StringBuilder의 차이점 (0) | 2008/06/25 |
| Java Regular Expression Example (0) | 2008/02/20 |
| 자바에서 XML 파일 다룰 때 error: content is not allowed in trailing section (0) | 2008/02/01 |

