본문 바로가기
프로그래밍 놀이터/안드로이드, Java

[Java] String 에 대한 이야기.

by 돼지왕 왕돼지 2013. 8. 22.
반응형


 자바, String 에 대한 이야기.

 

[Java] 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 을 사용하면, 메모리 걱정은 딱히 안 해도 된다는 것!!



반응형

댓글