ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 🖥️ 자바에서 명령어가 메모리를 활용하여 구동되는 원리 (완전 쉬운 설명!)
    ☕Java 2024. 12. 10. 20:35
    728x90

     

    자바 프로그램이 실행될 때, CPU와 메모리가 함께 협력해서 동작해요.
    이를 쉽게 설명하기 위해 요리하는 과정과 비교해볼게요! 🍳👨‍🍳

     

    1️⃣ 자바 프로그램이 실행될 때 필요한 것들

    자바 프로그램을 실행하려면, 3가지 중요한 요소가 필요해요.

    1. 코드 (레시피) 📜 → 우리가 작성한 자바 프로그램
    2. CPU (요리사) 👩‍🍳 → 프로그램을 실행하는 역할
    3. 메모리 (주방) 🍽️ → CPU가 일할 수 있도록 재료를 준비하는 공간

    💡 CPU(요리사)는 메모리(주방)에서 데이터를 꺼내서 요리(명령어 실행)해요!


    2️⃣ 자바 프로그램이 실행되는 과정 🍛

    우리가 자바 프로그램을 실행하면, 다음과 같은 과정이 진행돼요.

    ① 코드가 메모리에 올라감 📜 → 🍽️

    자바 파일(.java)을 실행하면, 프로그램의 명령어(코드)가 **메모리(주방)**로 올라가요.
    즉, "레시피(코드)를 주방에 펼쳐놓는 것"과 같아요.

    ② CPU가 명령어를 가져와 실행 👩‍🍳 → 🔥

    CPU(요리사)는 메모리에서 하나씩 명령어를 가져와 실행해요.
    예를 들어, System.out.println("Hello!"); 같은 코드가 있다면:

    1. CPU가 메모리에서 "Hello!"를 가져옴
    2. 화면에 출력함

    ③ 변수와 데이터 저장 🍆🥩🍚

    자바 프로그램에서 변수를 만들면, 그것도 메모리에 저장돼요!
    예를 들어:

    java
    복사편집
    int a = 10; // 변수 a에 10 저장

    👉 메모리에 "a = 10"을 저장하고, 필요할 때 CPU가 꺼내서 사용해요!

    ④ 불필요한 데이터 정리 (Garbage Collector) 🗑️

    필요 없는 데이터는 Garbage Collector가 자동으로 치워줘요.
    마치 요리를 하면서 쓰레기를 버리는 것과 같아요!


    3️⃣ 자바 프로그램이 사용하는 메모리 공간 (초보자용)

    메모리는 크게 4가지 공간으로 나뉘어요.
    이해하기 쉽게, 주방의 역할에 비유할게요! 🍳

    메모리 구역 설명 비유(주방)
    코드 영역 실행할 코드가 저장됨 📜 레시피(요리 방법)
    힙(Heap) 객체(데이터)가 저장됨 🥕냉장고 (요리 재료 보관소)
    스택(Stack) 실행 중인 메서드와 변수 저장 🔪 조리대 (요리 도구 & 재료 준비)
    PC 레지스터 CPU가 현재 실행 중인 명령어 저장 👀 요리사의 손 (현재 실행 중인 작업)

    4️⃣ 그림으로 보기 (자바 프로그램 실행 과정)

    이해를 돕기 위해 그림을 만들어 볼게요! 🎨✏️
    (곧 생성해서 보여드릴게요!)

     
     

    위 그림을 보면, 자바 프로그램이 실행되는 과정을 요리하는 과정과 비교해서 쉽게 이해할 수 있어요! 🍽️👩‍🍳

    • CPU(요리사) → 코드를 실행하는 역할
    • 코드(레시피) → 프로그램이 실행될 명령어
    • Heap(냉장고) → 프로그램이 사용하는 데이터 저장
    • Stack(조리대) → 실행 중인 변수 및 메서드 저장
    • Garbage Collector(쓰레기통) → 필요 없는 데이터를 자동으로 정리

     

     

     

     

     

     

    728x90
Designed by Tistory.