String, StringBuffer, StringBuilder
Nov 27, 2018 조회수 44
String
String은 new 연산을 통해 생성되면, 그 메모리가 절대 변하지 않는다.
- , concat() 메소드를 동하여 String에 변화를 줘도, 메모리가 변경되는 것이 아닌 새로운 String을 생성하는 것이다.
그렇기 때문에 문자열 연산이 많을경우 지속적인 오버헤드가 발생한다.
<br/>
StringBuffer, StringBulider
반대로 StringBuffer와 StringBuilder는 메모리가 가변적이다.
그렇기 때문에 문자열 연산에 대하여 가변적으로 버퍼 크기를 늘려 유연한게 작동한다.
둘의 차이점은 동기화에 있다
StringBuffer는 각 메소드별로 Synchonized 키워드가 있기 때문에 멀티쓰레드 환경에서 동기화를 지원한다.
StringBuilder는 동기화를 지원하지 않는다.
'String, StringBuffer, StringBuilder ' 관련된 다른글
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.