[JAVA] Java의 메모리 구조와 GC의 동작 방식
JVM의 동작 방식 자바 프로그램을 실행하면 OS로부터 JVM의 Runtime Data Area에 메모리가 할당된다. 이후 Class Loader에 의해 .class 파일이 동적으로 메모리에 올라가게 되고 Execution Engine에 의해 명령어 단위로 바이트 코드를 해석한다. Java의 메모리 구조 Java의 메모리 구조는 크게 메서드, 힙, 스택 세 가지 영역으로 나눌 수 있다. 이 중에서 메서드와 힙 영역은 프로세스 단위로 할당되어 스레드 간에 공유가 이루어지는 GC의 타겟 영역이다. 메서드 영역 클래스 정보, 메서드 정보, 정적 변수, 상수를 저장한다. 실행 시점에 모두 알고있는 정보이기 때문에 실행 시점에 메모리에 바로 로드된다. 힙 객체와 배열을 저장한다. 프로세스 실행 중에 동적으로 생성..