본문 바로가기

백엔드 면접준비/Java

JAVA 기본

Q. String, StringBuilder, StringBuffer

String은 불변성으로 잦은 문자열 변경 시 성능 저하가 있고,

StringBuilder는 단일 스레드에서 성능이 뛰어나며,

StringBuffer는 멀티 스레드 환경에서 동기화로 인해 안전하지만 성능은 조금 떨어진다.

구분 String StringBuilder StringBuffer
속도 느림 (잦은 변경 시) 빠름 보통 (Builder보다는 느림)
스레드 안전성 불변 → Thread-safe Thread-safe 하지 않음 Thread-safe
동기화 여부 동기화 불필요 동기화하지 않음 동기화(synchronized) 되어있음
불변성 불변(Immutable) 가변(Mutable) 가변(Mutable)

 

 

 

 

 

 

 

 

 

 

 

'백엔드 면접준비 > Java' 카테고리의 다른 글

객체지향  (0) 2025.03.19
8.JAR  (1) 2025.03.10
7. 동기,비동기, 블로킹, 논블록킹  (1) 2025.03.08
6. Garbage Collection(GC)  (1) 2025.03.07
4. Java Annotation  (0) 2025.03.07