본문 바로가기
공부용/JAVA

JAVA - 문자열 클래스

by 엑스포스 2022. 11. 19.
반응형

 

문자열 클래스

분류 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