Tech Stock logo Tech Stock

REALI BLOG
출처

기본적인 것 이지만 중요하다고 생각되서 퍼옴

최악의 예

String str = "ab";
str = str + "cd";

그나마 조금 나은경우

String str = "ab";
str += "cd";

위의 두 경우는 변수는 str하나지만
“ab” 에 “cd”라는 스트링 객체가 생성되고
두개를 복사한 후 원래 스트링객체 메모리(garbage collection)가 해제되면서
str=”abcd”가 된다고함…

이럴경우에는
이런식으로 코딩하는것이 좋다고함

StringBuffer sb = new StringBuffer();
sb.append("ab");
sb.append("cd");

스트링버퍼를 쓰게되면 하나의 객체에 계속적으로 추가를 할뿐 이므로
새로운 객체가 생성되지 않으며, garbage collection 을 할필요가 없게된다.

배경 지식으로 필요한 내용이 아주 잘 정리되어 있었다. 나중에 내것으로 정리할것
가비지 컬렉터에 대한 설명
C에서의 메모리 구조