JAVA/JAVA_Lang

메모리구조

오늘의 진 2022. 8. 15. 00:49

 

매소드(Method) 영역 

메소드 영역은 자바 프로그램에서 사용되는 클레스에 대한 정보, 클래스 변수(static)가 저장되는 영역

JVM은 자바 프로그램에서 특정 클래스가 사용되면 해당 클래스의 클래스 파일을 읽어들여 해당 클래스에 대한 정보를

메소드영역에 저장한다. 

 

스텍영역

자바프로그램에서 매소드가 호출 될 때 메소드의 스택 프레임이 저장되는 영역이다. 

메소드가 호출되면 메소드와 관련된 지역변수, 매개변수를 스택영역에 저장한다. 

이렇게 스택영역은 메소드의 호출과 함께 할당되며 메소드의 호출이 완료되면 소멸한다. 

 

힙영역

자바프로그램에서 사용되는 모든 인스턴스 변수가 저장되는 영역이다. 

new키워드를 사용하여 인스턴스가 생성되면 해당 인스턴스의 정보를 힙영역에 저장한다. 

힙 영역은 메모리의 낮은 주소에서 높은 주소의 방향으로 할당된다. 

 

 

 

class Car {

    static int modelOutput; // 클래스 변수

    String modelName;       // 인스턴스 변수

 

    void method() {

        int something = 10; // 지역 변수

    }

}

 

그림으로 보면 이런 형태로 만들어 진다. 

 

'JAVA > JAVA_Lang' 카테고리의 다른 글

배열 오름차순, 내림차순 정렬  (0) 2022.08.21
Socket통신  (0) 2022.08.18
오버로딩과 오버라이딩  (0) 2022.08.14
재귀 호출 (recursive call)  (0) 2022.08.14
추상 클래스 (abstract class)  (0) 2022.08.07