JVM 이해하기

  1. 코드가 실행되는 과정

    java-process-1.png

    개발자가 두둘긴 .java 파일 → 자바 컴파일러(javac) → 바이트 코드(.class) → JVM(돌돌돌 위잉) → 뚝딱!

    JVM(Java Virtual Machine)

  2. JDK 구조

    1. JDK란?

    JDK구조.png

    → JDK : Java Development ToolKits + JRE

    → JRE : Java Runtime Environment + JVM

    📚 👉 오라클 공식 자료 보기

    b. JRE

    Screen Shot 2022-11-29 at 9.30.29 AM.png

메모리와 실행 엔진

  1. JVM이 사용하는 메모리 영역

    1. JDK 구조

      JDK구조.png

    2. JVM 구조(전부 봐야하지만 일단 개괄적으로 보자.)

      oracle-jvm-architecture.png

    3. 다~ 중요하지만, 오늘 조금 더 볼 친구들(Method area, Heap, Stack 기본적으로 무조건 알아야함)

    JVM.png

  2. 클래스 로더와 static 영역

    classloader.png

  3. 메모리 영역

    필요한메모리영역.png

    😎 우리가 자세히 알아야할 데이터 영역

    자바의 메모리 구조 영역 Method Heap Stack

    Method Area와 JVM Stack, Heap 메모리의 구조와 용도

  1. 실행 엔진과 GC
    1. 실행 엔진
      1. 인터프리터
      2. JIT(Just In Time) 컴파일러
        • 더 자세히 공부하기 참고 👉 JIT
    2. Garbage Collector
      1. 참조되지 않은 객체를 수집하고 제거한다.

🔑 키워드

자바 메모리 구조(Runtime Data Area)