안녕하세요 백엔드 갤러리 형님들. JVM 쪽 공부해보고 있는데
일반적으로 클래스 파일 로드시 리터럴 들을 JVM 메모리 영역의 method area에 있는 constant pool에
저장한다고 알고있었는데, String 리터럴은 힙 영역의 string pool에 저장한다는 걸 봤습니다.
이게 이해가 안가는데, 애초에 constant pool하고 string pool(=string constant pool)이
다른 용어인지부터 시작해서 그러면 string 리터럴은 constant pool에는 저장이 안되는건가?
근데 바이트 코드로 된 클래스파일 까보면 거기에 string도 인덱스 참조하던데? 뭐지?
제가 배움이 짧아 질문이 개같은데.. 어 ...
1. constant pool이랑 string pool은 다른건지?
2. string pool은 method area에 있는게 아니라 heap에 있는게 맞는지?
인 것 같습니다
https://gall.dcinside.com/mgallery/board/view/?id=backend&no=789&page=1