StringBuffer class에 대해서
글쓴이: hmd7932 / 작성시간: 일, 2013/11/10 - 12:10오후
안녕하세요?
StringBuffer 클래스에 대해서 궁금한게 있어서 질문올립니다.
String 객체의 immutable속성에 대해 나오면서 같이 나오는게 StringBuffer인데요
StringBuffer의 내부 버퍼는 Heap에 할당되어 있는건가요 아니면 스택 혹은 다른 메모리인지 궁금합니다.
내부적으로는 char배열로 되어 있다는데...
만약 아래와 같이 문자열이 있다면
String a = "aaaaa"
String b = "bbbbb"
String c = "ccccc"
와 같이 있다고 햇을 때
StringBuffer bf = new StringBuffer()
bf.append(a).append(b)를 하면
실제 a와 b는 immutable이기 때문에 aaaaa 바로 뒤에 bbbbb가 붙진 않을거고 내부 버퍼에 둘을 복사해서 보관하고 있는건지... 아니면 다른 방법이 있는건지요?
Forums:
내부 버퍼에 a나 b의 내용을 복사해서 추가하는
내부 버퍼에 a나 b의 내용을 복사해서 추가하는 형태입니다.
자세한 것은 JDK source (java/lang/AbstractStringBuilder.java)를 보시면 됩니다.
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
heap
heap입니다 -_-ㅋㅋ
댓글 달기