반응형
문자열 클래스
분류 | String | StringBuffer | StringBuilder |
---|---|---|---|
변경 | immutable | mutable | mutable |
동기화 | Synchronized 가능(Thread-safe) | Synchronized 불가능 |
1. String 클래스
- new 연산으로 통해 생성된 메모리의 공간은 변하지 않음! (immutable)
- GC로 제거되어야 함
- 문자열 연산 시 새로 객체를 만드는 Overhead 발생
- 객체가 불변하므로, MultiThread에서 동기화를 신경 쓸 필요가 없음! (조회 연산에 매우 큰 강점)
String 클래스는 연산이 적고, 조회가 많은 MultiThread 환경에서 좋음
2. StringBuffer 클래스
- 문자열 연산 시 새로 객체를 만들지 않고, 크기를 변경시킴
- Thread Safe함
문자열 연산이 많은 MultiThread환경
3. StringBuilder 클래스
- 문자열 연산 시 새로 객체를 만들지 않고, 크기를 변경시킴
- Thread Safe하지 않음.
문자열 연산이 적은 MultiThread환경
반응형
'공부용 > JAVA' 카테고리의 다른 글
JVM (Java Virtual Machine) (0) | 2022.11.19 |
---|---|
Garbage Collection (GC) (0) | 2022.11.19 |