-
String vs (StringBuilder vs StringBuffer) (JAVA)Java & Spring/자바 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)를 지원하여 멀티 쓰레드 환경에서 안전함
반응형'Java & Spring > 자바' 카테고리의 다른 글
자바 참조 유형 (Strong, Soft, Weak, Phantom Reference) (0) 2021.02.28 Checked Exception vs Unchecked Exception (0) 2021.02.28 Final 키워드 (JAVA) (0) 2020.10.20 동기화(Synchronized) (0) 2020.10.20 Annotation(어노테이션) (0) 2020.10.20 - String