티스토리 뷰
728x90
반응형
String
- immutable(불변적), thread-safe(여러 스레드가 동시에 접근해도 값이 변하지 않기 때문에 문제가 없다.)
- String 객체를 생성하여 메모리 공간은 변하지 않는다. (Heap 영역에 할당)
- +, concat 연산 시 새로운 String 객체를 생성하여 문자열을 복사하고 새로운 객체를 가리킨다. (오버헤드 발생)
- 기존 String 객체는 특정 시점에 Garbage Collector 에 의해 반환
- String 클래스는 문자열 연산이 적고 조회가 많을 때 멀티쓰레드 환경에서 사용하면 좋음.
StringBuilder
- mutable(가변적)
- 클래스를 한번 생성하고 연산 시 버퍼크기를 변경하여 문자열을 변겅
- 동기화를 지원하지 않아서 멀티스레드 환경에 취약
- 동기화를 고려하지 않기 때문에 StringBuffer보다 연산처리가 빠르다
StringBuffer
- mutable(가변적)
- synchronized 동기화 가능하여 멀티스레드 환경에 안전
728x90
반응형
'Java' 카테고리의 다른 글
Comparable vs Comparator (0) | 2020.02.06 |
---|---|
Iterator (0) | 2020.02.04 |
EJB (Enterprise JavaBeans) (0) | 2018.08.28 |
문자열 순열 (0) | 2016.09.01 |
Collection (0) | 2016.08.31 |
반응형
300x250