본문 바로가기

JVM2

Java 프로그램 실행 과정 (JVM 동작 원리) JVM의 역할 Application ClassLoader를 통해 읽어 들여 Java API와 함께 실행. Java와 OS 사이에서 중개자 역할을 수행한다. Java Byte Code (.class file)를 OS에 맞게 해석하여 JVM 위에서 OS와 상관없이 실행된다. JVM은 스택기반의 가상 머신이며, 메모리 관리와 Garbage Collection을 수행한다. Java 프로그램 실행과정 프로그램이 실행되면 OS가 JVM에게 필요한 메모리를 할당한다. Java 컴파일러(javac)가 자바 소스 코드(. java)를 읽어 자바 바이트코드(.class)로 변환한다. Class Loader를 통해 class 파일들을 JVM으로 로딩한다. 로딩된 class파일들은 Execution Engine을 통해 해석된.. 2022. 4. 17.
GC 동작 원리 GC (Garbage Collector)란 C/C++ 언어와 달리 자바는 개발자가 명시적으로 객체를 해제할 필요가 없습니다. 자바 언어의 큰 장점이기도 합니다. 사용하지 않는 객체는 메모리에서 삭제하는 작업을 GC라고 부르며 JVM에서 GC를 수행합니다. 기본적으로 JVM의 메모리는 총 5가지 영역(class, stack, heap, native method, PC)으로 나뉘는데, GC는 힙 메모리만 다룹니다. 일반적으로 다음과 같은 경우에 GC의 대상이 됩니다. 객체가 NULL인 경우 (ex. String str = null) 블럭 실행 종료 후, 블럭 안에서 생성된 객체 부모 객체가 NULL인 경우, 포함하는 자식 객체 GC 동작원리 JVM에서 GC의 스케줄링을 담당하여 Java 개발자에게 메모리 관.. 2022. 4. 17.