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

'전공 > JAVA' 카테고리의 다른 글

다중상속 문제점  (0) 2020.07.03
JNI  (0) 2020.06.24
try-with-resource  (0) 2018.07.08
컬렉션  (0) 2018.05.13
JVM  (0) 2018.05.02

+ Recent posts