728x90
반응형
String / StringBuffer, StringBuilder의 가장 큰 차이점
- String : 불변(immutable)의 속성을 가짐
- StringBuffer, StringBuilder : 가변(mutable)의 속성을 가짐
- .append() / .delete() 등의 api를 이용하여 동일 객체내에서 문자열을 변경하는 것이 가능
→ 따라서 문자열의 추가,수정,삭제가 빈번하게 발생할 경우라면 String 클래스가 아닌 StringBuffer/StringBuilder를 사용
StringBuffer / StringBuilder 차이점
- 동기화 유무(StringBuffer O / StringBuilder X)
→ StringBuffer는 동기화를 지원하기 때문에 멀티쓰레드 환경에서 안정성을 가지고 있다.
반대로 StringBuilder는 동기화를 지원하지 않기 때문에 멀티쓰레드 환경에서 사용하는 것은 적합하지 않지만
동기화를 고려하지 않는 단일쓰레드에서의 성능은 StringBuffer 보다 뛰어나다.
요약
String | 문자열 연산이 적고 멀티쓰레드 환경일 경우 |
StringBuffer | 문자열 연산이 많고 멀티쓰레드 환경일 경우 |
StringBuilder | 문자열 연산이 많고 단일쓰레드이거나 동기화를 고려하지 않아도 되는 경우 |
스레드
: 프로세스가 할당받은 자원을 이용하는 실행 단위
스레드 자세히 알아보기
728x90
반응형
'JAVA' 카테고리의 다른 글
JUnitParamsRunner 매개변수를 이용하여 Junit 테스트 (0) | 2022.12.29 |
---|---|
[JAVA] 정규 표현식(replaceAll) (1) | 2022.10.08 |