작성
·
252
0
안녕하세요
자바를 공부하면서 자바의 메모리 사용에 대해 알아가고 있습니다.
지금까지 아는 바는 다음과 같습니다 :
자바의 메모리 사용에 대해 검색해보니 String 객체를 예시로 든 내용들을 많이 보았습니다. 제가 이해한 바는 다음과 같습니다 :
// 사례 1 String example = "example"; /* 사례 1의 경우 example이라는 참조변수는 스택에 할당되고, 이것이 직접 힙의 상수 풀의 "example"이 있는 메모리의 주소를 가리킨다. */
// 사례 2
String example = new String("example");
/*
사례 2의 경우 example이라는 참조변수는 스택에 할당되고,
String 객체의 한 인스턴스가 힙에 생성되며,
그 인스턴스가 상수 풀의 example"이 있는 메모리의 주소를 가리킨다.
*/
위의 사례에 대하여 실제 메모리 사용이 어떻게 이루어지는지 궁금해서 질문 올립니다.
제가 생각해본 결과 다음 세 경우 중 하나에 해당하리라고 추측하는데 어느 것이 맞는지 알고 싶습니다.
감사합니다.
답변