1.
String은 Immutable이다.
vs
StringBuffer/StringBuilder는 mutable이다.
2.
String으로 +연산, concat을 이용하면 새로운 String 객체가 만들어지는 것이다.(JDK 1.5부터 +연산이 내부적으로 StringBuilder에 의해 이뤄지긴 함.)
참조되지 않는 String은 GC 대상이 된다.
문자열 연산이 많은 경우 오버헤드가 발생할 수 있다.
vs
StringBuffer와 StringBuilder는 문자열 연산이 자주 있을 때 사용한다.
3.
StringBuffer는 멀티 스레드 환경에서 syncronized 키워드가 가능해 동기화가 된다. 즉, thread-safe하다
vs
StringBuilder는 동기화를 지원하지 않지만 연산이 빠르다.
vs
String은 immutable이므로 thread-safe 하다.
'프로그래밍 > JAVA' 카테고리의 다른 글
WebFlux & Non-blocking (0) | 2019.04.22 |
---|---|
Collection remove에 대해 (0) | 2019.03.20 |
Object의 메서드/equals/hashCode/clone (0) | 2019.03.19 |
JVM (0) | 2019.03.19 |
ArrayList + Generic 구현하기 (0) | 2019.02.28 |