본문 바로가기
Java

JAVA String, StringBuffer & StringBuilder

by 차가운개발 2024. 12. 2.

 

String 

  • 불변 객체, 한 번 생성된 문자열을 수정할 수 없다
  • 가비지 컬렉션으로 제거되어야 한다
  • 문자열 연산시 새로운 객체를 만드는 오버헤드가 발생한다
  • 객체가 불변하므로 멀티 쓰레드 환경에서 안전하다

String : 문자열 연산이 적고, 조회가 많은 멀티 스레드 환경에서 좋다

 

StringBuffer & StringBuilder

  • 가변 객체, 문자열 수정 시 새로 객체를 생성하지 않고 크기를 변경
  • 클래스의 메서드가 동일함

StringBuffer : 멀티 쓰레드 동기화 적용 스레드 안전

StringBuilder : 멀티 쓰레드 동기화 x 스레드 안전 x

 

 

특성 String StringBuffer StringBuilder
불변성 불변 가변 가변
스레드 안전 스레드 안전 스레드 안전(Synchronized) 스레드 안전 x
속도 느림 느림 빠름
사례 읽기 위주 작업 멀티스레드에서 문자열 변경 단일 스레드에서 문자열 변경

'Java' 카테고리의 다른 글

JAVA 캐스팅  (0) 2024.12.02
JAVA JVM(Java Virtual Machine)  (1) 2024.12.02
JAVA 컴파일 과정  (0) 2024.12.02
JAVA Stack & Queue  (1) 2024.10.04
JAVA List, ArrayList, LinkedList  (2) 2024.10.03