자바 힙 스택
-
[Java] 자바의 메모리 구조 정리IT/개발(자바, 서블릿, 스프링 등) 2019. 12. 7. 18:35
자바 프로그램은 JVM에 의해 실행된다. JVM은 자바 프로그램을 실행하면서 필요한 데이터를 메모리에 생성한 후에 사용한다. 이 때 메모리를 세가지 영역으로 구분하여 사용한다. Code 영역 / Heap 영역 / Stack 영역. 코드 영역(메서드 영역) 클래스 파일을 실행하면 JVM의 클래스 로더가 클래스 파일을 실행하기 위해 필요한 클래스 파일을 메모리에 올린다. 자바 소스 파일에 정의한 클래스에 관한 정보와 코드를 코드 영역에 만들어준다. 힙 영역 클래스를 설계하고 이를 사용하려면 메모리에 해당 클래스의 인스턴스를 생성해야 한다. new 명령문으로 인스턴스를 생성하면 메모리의 힙 영역에 생성된다. 그런데 클래스의 메서드는 실행 시작 시점에 클래스 로더에 의해 코드 영역에 만들어진다. 따라서 실제로 ..