목록GC (1)
오늘이군
문자열 연결 - String, StringBuilder, StringBuffer, +, concat
자바에서 문자열 처리를 할 때 무심코 String name = "홍" + "길동"; 라는 코드를 작성합니다. 예전에 어디선가 StringBuffer 를 사용하라는 얘기를 들었지만 일일이 append 하는 것도 귀찮고 toString() 도 해야 하는 것이 번거롭다는 생각이 들어 더하기 연산을 해버리는 데요, 이게 문제가 있습니다.String 은 불변(immutable) 객체 입니다.예를 들면, str = str + "ab"; 은 100번 주소에 객체가 만들어지지만 다시 str 을 변경하려는 시도를 하면 불변 객체 이므로 새롭게 150 번 주소에 생성을 합니다. 그럼 남은 100번은 어떻게 될까요?네, GC 대상이 됩니다. 무심코 코드를 이렇게 작성하다보면 불필요한 객체가 많이 생겨서 GC 가 빈번히 발생..
삶../프로그래밍
2018. 8. 14. 17:21