티스토리 뷰
String
- 객체내 데이터 수정 불가능. return 만 가능 ( immutable 함)
- String A = A + B : 총 3개의 메모리 사용 (연산시 새로운 메모리가 할당되고 기존메모리는 GC대상이되기때문에 느림)
StringBuilder
- AbstractStringBuilder 를 상속하여 구현됨
- 동기화 지원 안됨.
- 객체내 데이터의 수정이 가능 ( mutable 함)
- capacity 지정가능. 단, capacity 가 확장될 때 오버로드 될 수 있음.
- StringBuilder A.append("B") : 총 1개의 메모리 사용 (한개의 메모리에서 변경이 되기때문에 빠름)
StringBuffer
- AbstractStringBuilder 를 상속하여 구현됨
- 클래스내 모든 함수에 synchronized 가 붙어있음. 멀티쓰레드에서 동기화 지원함. (때문에 StringBuilder보다 느림)
- 객체내 데이터의 수정이 가능 ( mutable 함)
- capacity 지정가능. 단, capacity 가 확장될 때 오버로드 될 수 있음.
- StringBuffer A.append(B) : 총 1개의 메모리 사용 (한개의 메모리에서 변경이 되기때문에 빠름)
[작성] devbible.tistory.com
'Development' 카테고리의 다른 글
[Linux] VirtualBox에 CentOS 7 설치 (0) | 2015.12.20 |
---|---|
[Linux] /usr/bin/ld: cannot find -lz 에러 (0) | 2015.11.05 |
[Cpp] ACE_Asynch_Write_Stream write() vs writev() (0) | 2015.10.14 |
[Javascript] 함수 존재여부 체크 (0) | 2015.10.07 |
[Javascript] javascript ===, ==, >=, <=연산자 (0) | 2015.10.07 |
댓글
최근에 올라온 글
글 보관함
- Total
- Today
- Yesterday