-
[Java] StringBuilder와 StringBuffer의 차이점Coding/etc 2019. 11. 13. 14:49
Java의 StringBuilder와 StringBuffer은 String과 달리 가변 가능하다는(값이 변경이 가능하다는) 특징이 있습니다만, 독특하게도 같은 메소드를 호환하여 사용할 수 있습니다.
그럼 굳이 왜 두개로 나누어 놓은 걸까요?
두 클래스의 차이는, StringBuffer는 멀티쓰레드에서도 동기화가 가능합니다. synchronized 명령어가 적용되기 때문에 멀티 쓰레드에 적합하고, StringBuilder의 경우 그렇지 않기 때문에 멀티쓰레드에서는 맞지 않습니다.
단, StringBuilder는 동기화를 고려하지 않으므로 StringBuffer에 비하여 연산속도가 빠르다는 장점이 있습니다.
따라서, 싱글쓰레드 환경에서는 StringBuilder, 멀티쓰레드 환경에서는 StringBuffer,
그리고 문자열의 값을 변경하지 않는 경우 String을 사용하는 것이 이상적이라고 할 수 있겠습니다.
'Coding > etc' 카테고리의 다른 글
[Tistory] 인라인 코드 테마 변경하기 (2) 2019.11.27 [C#] Unity Scene 전환하기/게임 종료하기 (0) 2019.11.19 [Javascript] 웹 브라우저에서 XML 파싱하기 (0) 2019.09.18 [XMLHttpRequest] XMLHttpRequest란 무엇일까 (0) 2019.09.18 [XSLT 예제] HTML 테이블 그리기 (0) 2019.09.17