본문 바로가기

프로그래밍/JAVA

String, StringBuffer, StringBuilder

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