GC
-
자바(Java) 메모리 구조 / Runtime Data Area백엔드/자바 2020. 7. 27. 03:24
자바의 메모리 구조 우리가 작성한 소스 코드는 컴파일해 자바 바이트 코드로 바꾸고 이를 JVM으로 실행하게 된다. 그리고 이 과정에서 코드들은 Runtime Data Area 영역에서 실행된다. 즉 OS가 JVM에 할당한 메모리 영역에 맞게 코드들이 분배되고 실행되는 것이라고 생각하면 된다. Runtime Data Area OS가 JVM에 할당해준 메모리 영역을 Runtime Data Area라고 부른다. 그리고 이러한 메모리 영역은 우선 크게 두 가지로 나뉜다. 쓰레드 별로 생성되는 메모리 영역과 모든 쓰레드가 공유하는 메모리 영역이다. 모든 쓰레드가 공유 Method Area Runtime Constant Pool Heap Area Eden Survivor 1 Survivor 2 Old Permane..
-
자바 가상 머신 (JVM)에 대해서백엔드/자바 2020. 7. 27. 00:34
자바 가상 머신(JVM)이란? JVM은 Java Virtual Machine의 약자로 자바 가상 머신으로 번역해서 부른다. JVM은 우리가 작성한 소스 코드를 바꾼 자바 바이트 코드를 컴퓨터에서 실행될 수 있게 도와준다. JVM을 통해 어느 OS에서든 자바 바이트 코드를 정상적으로 실행할 수 있다. JVM의 역할 JVM의 역할은 크게 4가지로 나뉜다. 1. Runtime Data Area JVM의 메모리 영역을 뜻하는 말로 JVM은 OS로부터 메모리를 할당 받아 사용한다. 우리가 작성한 코드를 실행할 때 그에 맞는 메모리를 할당하고 관리하는 역할을 한다. 2. Class Loader 소스 코드를 바꾼 자바 바이트 코드를 메모리에 할당할 수 있도록 도와주는 역할을 한다. 3. Execution Engine..