Java & Spring/자바
String vs (StringBuilder vs StringBuffer) (JAVA)
Zin0_0
2020. 10. 20. 20:35
반응형
StringBuffer vs StringBuilder (vs String)
- String
- 불변(immutable)의 속성을 가짐 (StringBuilder와 StringBuffer는 mutable)
- string을 더하기 연산(+)을 하면 새로운 메모리 영역을 가리키게 변경
- 더해지기 전 기존 문자열은 나중에 GC에 의해 사라짐
- 즉, 새로운 String 인스턴스가 생성되는 것
- StringBuilder vs StringBuffer
- 가장 큰 차이점은 동기화(Synchronized)의 유무이다.
- StringBuilder
- 성능은 StringBuffer보다 좋지만, 동기화를 지원하지 않기 때문에, 싱글 쓰레드 환경에서 활용하는 것이 좋음
- StringBuffer
- 동기화(Synchronized)를 지원하여 멀티 쓰레드 환경에서 안전함
- cf) String의 경우도 불변성이기 때문에 안정성을 가짐
- 동기화(Synchronized)를 지원하여 멀티 쓰레드 환경에서 안전함
반응형