[자바] JVM에서 method area는 code area인가?

프로그래밍/자바2021. 1. 13. 00:51

일반적으로 프로세스의 메모리 구조는

코드 영역, 데이터 영역, 힙 영역, 스택 영역으로 나뉩니다.

 

자바 JVM에서는

Runtime data area에 이런 공간들이 있습니다.

 

Method area, Heap area, Stack area 등이 있습니다.

이렇게만 되어있으니.. 실행해야할 코드들이 어디에 있는지 궁금하더라구요.

 

stackoverflow.com/questions/17795597/method-area-of-java-and-stack-area

SO에서 찾아보면 답이 있습니다.

 

The method area every class bytecode is loaded and stored. It means given class static and instance variable declaration statements, blocks, method, and constructors logic will be stored in the method area. All static variable memory is allocated in this runtime area.

 

위 설명을 보면 method area를 코드 영역으로 봐도 될 것 같습니다.

어차피.. 클래스 안에, 함수 안에 실행될 코드들이 있으니까요 ㅎㅎ;;

 

stackoverflow.com/questions/8387989/where-are-static-methods-and-static-variables-stored-in-java#:~:text=The%20static%20variables%20were%20stored,also%20called%20the%20method%20area).&text=The%20static%20variables%20are%20stored,unlike%20the%20previous%20Permgen%20Space.

 

Where are static methods and static variables stored in Java?

For example: class A { static int i=0; static int j; static void method() { // static k=0; can't use static for local variables only final is permitted // static int L; ...

stackoverflow.com

그리고 추가로 위의 글을 보면, 자바 8 버전부터 static 변수들은 Heap에 저장된다고 합니다.

흠.. 

작성자

Posted by 드리머즈

관련 글

댓글 영역