logo

String

String은 new 연산을 통해 생성되면, 그 메모리가 절대 변하지 않는다.

  • , concat() 메소드를 동하여 String에 변화를 줘도, 메모리가 변경되는 것이 아닌 새로운 String을 생성하는 것이다.

그렇기 때문에 문자열 연산이 많을경우 지속적인 오버헤드가 발생한다.

<br/>

StringBuffer, StringBulider

반대로 StringBuffer와 StringBuilder는 메모리가 가변적이다.

그렇기 때문에 문자열 연산에 대하여 가변적으로 버퍼 크기를 늘려 유연한게 작동한다.

둘의 차이점은 동기화에 있다

StringBuffer는 각 메소드별로 Synchonized 키워드가 있기 때문에 멀티쓰레드 환경에서 동기화를 지원한다.

StringBuilder는 동기화를 지원하지 않는다.

CommentCount 0
이전 댓글 보기
등록
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
TOP