반응형
자바, String 에 대한 이야기. |
Java 를 사용하다 보면 간혹 memory 관리 측면에서
String str = "gamza";
String str2 = "gamza";
사실 String 도 object 인데, 이런식으로 literal 을 계속 사용하면 메모리 문제가 생기지 않을까?
아니다. Java 의 String literal 의 경우 같은 literal 은 같은 메모리 주소를 가르키게 된다.
즉 똑같은 "gamza" 라는 string 은 천만개의 String 에 assign 해도 같은 메모리 주소를 가르키기 떄문에
Heap 의 용량이 늘지는 않고, 변수 자체가 차지하는 메모리는 스택쪽만 늘어나게 된다.
만약 다음과 같이 사용하면, 다른 주소에 할당해서 다른 메모리 주소를 가르키게 된다.
String str = new String( "gamza" );
String str2 = new String( "gamza" );
결론적으로 literal 을 사용하면, 메모리 걱정은 딱히 안 해도 된다는 것!!
반응형
'프로그래밍 놀이터 > 안드로이드, Java' 카테고리의 다른 글
[Java] InetAddress 이야기 (0) | 2013.08.22 |
---|---|
[android] LBS ( Location Based Service ), GPS vs. WIFI vs. 3G (0) | 2013.08.22 |
[android] Caused by: java.lang.NullPointerException at android.app.AlertDialog.resolveDialogTheme (0) | 2013.08.20 |
[Java] HashMap 과 HashTable 의 차이는? (0) | 2013.08.20 |
[android] screen size 와 px, dp, config 에 대한 핵심 정리 (2) | 2013.08.20 |
댓글