ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 1주차 - 자바
    회고/WIL 2023. 6. 18. 22:21
    728x90

    첫 주에는 자바의 문법에 대해서 배우는 시간이었다.

     

    그동안은 나는 자바로 코드를 작성하고 돌리면,

    "그냥 실행되네? 컴파일러가 내 코드를 알아서 해석해서 돌리는구나?" 

    " 자바 환경변수 세팅을 원하는 JDK로 맞춰주면 알아서 JVM이 알아서 프로그램을 돌리는구나?"

    정도 였지만,

    이제는 자바가 어떻게 사람의 코드를 이해하고 이를 실행시키는지에 대해서 알게되었다.

     

     

     

     

    JVM

    Java Virtual Machine의 줄임말로,
    Java 언어를  실행함에 있어서 다양한 OS환경과 장비에 구애받지않도록 해주는 가상 기기를 의미한다.

     

     

    java 파일이 JVM안에서 어떻게 동작하는지 알아보자.

     

     

    우리가 자바 코드를 실행하면, 크게 2가지 환경으로 나뉘어 진다.

    먼저, 우리가 코드 작성시 오타를 내게 되면 Compile 오류가 아는 것처럼 가장 먼저 거치는 환경이 comile-time 환경이다

    Compile-time 환경

    Main.java(Source File)  →  Java Compiler  →  Main.class (Byte Code)

    이 과정에서 사람의 언어에서 점차 기계가 이해할 수 있는 언어로 바뀌어 간다.

    이렇게 바이트코드로 변경된 파일은 클래스로더 에 의해서 다음의 환경으로 바뀌어가는데, 바로 Run-time 환경이다

     

    Run-time 환경

    Class Loader
            Byte코드를 JVM이 운영체제로 부터 할당받은 메모리 영역으로 불러와서
            저장시키는 역할

    ↓ ↓ 

    JVM 구성
            Java interpreter + JIT Compiler → Runtime 시스템

    ↓ ↓ 

    운영체제(종속성 x)

    ↓ ↓ 

    하드웨어

     

     

    우리는 JVM 말고도 JRE라던지 JDK도 많이 들어봤을 것이다.

    JRE란 ,
    Java Runtime Environment의 약자로, 자바 실행 환경을 말한다.

    즉 JVM은 JRE 안에 속하게 된다.

    JRE는 위의 흐름대로 본자면 .class 파일만을 실행가능하다. 즉 자바 가상머신이 동작하게 하기 위한 .class 파일이 필요한 것이다. 

    .class 파일로 변환해주는 역할을 가지고 있는 것이 우리가 그토록 많이 들었던 JDK 이다

    JDK란,
    Java Development Kit 의 약자로
    자바로 프로그램을 하기 위해 필요한 수많은 라이브러리와 기능을 제공하는 것을 말한다.

    한주간 자바 문법을 배우고 복습하며 많이 익히기도 했지만, 그런 자바가 어떻게 동작하는지를 정확히 알아가는 시간이 되어 매우 좋았다.

    '회고 > WIL' 카테고리의 다른 글

    7/4 ~ 7/12 이 전의 날들을 돌아보기  (0) 2023.07.12
    IoC - DI - Bean 의 관계  (0) 2023.07.04
    HTTP와 MVC  (0) 2023.06.25
Designed by Tistory.