SMALL
JAVA 코딩을 하다보면 String과 StringBuffer을 많이 보게 된다.
String은 우선 불변이다. 그래서 값의 변동이 없을때 사용하면 좋다. 이게 무슨 의미냐면
String a = "NOIL";
a = "PARKNOIL";
위의 그림을 보면 기존의 PARK는 사용되지 않고 메모리 낭비가 되고 GC처리대상이 된다.
하지만,
StringBuilder a = new StringBuilder("PARK");
a.append("NOIL");
위의 그림을 보면 메모리 낭비가 없음.
StringBuffer랑 StringBuilder의 가장 큰 차이는 동기화를 지원하느냐이다.
StringBuffer은 동기화 지원하기에 멀티 쓰레드 환경에 사용하면 적절, 하지만 싱글 쓰레드 환경 및 동기화가 필요없다면 StringBuilder을 사용하는게 성능적으로 더 좋다.
그래서 보통 싱글 어플리케이션 개발을 할 때는 StringBuilder을 사용하는게 좋고, 습관화 하자..
LIST