• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

JVM 메모리 구조에 대해 공부하다가 질문 드립니다.

22.04.17 20:53 작성 조회수 334

0

안녕하세요! JVM의 메모리 영역 중 메소드 영역에 관해 질문 드립니다.

 

.class 파일들이 JVM으로 로드 되면 메소드 영역에 Class에 대한 정보들을 담는 Class type객체나 

static 변수들이 그 쪽에 할당된다고 하셨는데,

 

이게 어플리케이션이 컨테이너에서 구동될 때 이루어지는 작업이니까 

혹시 그러면 어플리케이션이 완전이 시작한 이후에 

application scope 내장 객체에서 getAttribute를 통해서도 접근이 가능 할까요..??

 

또한 다른 변수들은 아닌 static 변수들만 method 영역에 생성되는 건지도 궁금합니다...

static 변수, static 메소드, static 클래스 등등 static과 관련된 모든 object들이 저 영역에 생성이 되는 것인가요..?

 

강의를 통해 궁금한 점이 생겨 질문 드립니다!

감사합니다!

 

답변 1

답변을 작성해보세요.

1

안녕하세요. 

"application scope 내장 객체에서 getAttribute"에서 말씀하시는 내장 객체가 뭐고 application scope은 뭔가요? 그리고 getAttribute는 어느 클래스에서 제공하는 메소드인가요?

클래스 정보가 담기는 건 맞지만 스태틱 변수와 메소드는 PermGen (힙 영역중 일부) 이나 (자바 8부터) MetaSpace라고 불리우는 네이티브 메모리 영역중 일부에 저장됩니다.