<
자바 프로그램의 개발과 구동
>
🌠다음 포스팅🌠

자바가 메모리를 사용하는 방식
☄이전 포스팅☄

자바가 사용하는 함수형 프로그래밍 람다
JRE / JDK / JVM 의 차이

🚀 자바의 구성

우리가 자바를 다루면서 자바가 어떻게 운영되는지 확인할 필요가 있다.

자바의 최대 장점으로 JVM이 설치되어 있는 어느 운영체제라도 JDK를 사용할 수 있다.

우리는 여기서 더 자세하게 알고 들어갈 필요가 있다.

개발과구동

🌠 JVM(Java Virtual Machine)

자바 바이트코드를 실행할 수 있는 스택 기반의 가상 머신을 구현한 소프트웨어이다.

JVM의 역할은 JAVA Application을 클래스 로더를 통해 읽어 들여 자바 API와 함께 실행하며 여기서 바이트코드를 기계어로 변환하여 각 OS에 제공해준다.

때문에 JAVA와 OS에서 중계 역할을 하여 JAVA가 OS환경에 구애받지 않고 실행을 가능하게 해준다.

또한, 메모리 관리, GC(Garbage collection)을 수행한다.

☄ 자바 바이트 코드

자바 가상 머신이 이해할 수 있는 언어로 변환한 자바 소스 코드를 의미한다.

자바 컴파일러에 의해 변환되는 코드의 명령어 크기가 1바이트라서 자바 바이트 코드라고 불리고 있다.

이러한 자바 바이트 코드의 확장자는 .class이며 자바 바이트 코드는 JVM (자바 가상 머신)이 설치되어 있으면, 어떤 운영체제에서라도 실행될 수 있다.

☄ 자바 번역기 - 자바 컴파일러

JDK에 포함되어 있는 자바 컴파일러는 자바 소스 코드를 JVM이 이해할 수 있는 자바 바이트 코드로 변환한다. 그리고 JVM은 바이트 코드를 기계어로 변환해 주는 것이다.

자바 컴파일러는 javac.exe실행 파일 형태로 설치된다.

🌠 JDK(Java Development kit)

흔히 우리가 자바를 개발하게 된다면 JDK를 설치해줘야한다.

JDK는 자바 언어로 개발을 지원하는 프로그램으로 이클립스 / 인델리제이 / STS가 여기 포함된다.

또한 실행하게되면 자바 번역기.java.class 파일로 컴파일하여 JRE에 전달하게된다.

🌠 JRE (JAVA Runtime Environment)

컴퓨터의 운영체제 소프트웨어 상에서 실행되고 클래스 라이브러리 및 특정 Java 프로그램이 실행해야 하는 기타 리소스를 제공하는 소프트웨어 계층이다.

JDK 및 JRE는 서로 간에 상호작용하여 사실상 모든 운영체제에서 Java 기반 애플리케이션의 완벽한 실행을 가능하게 하는 지속 가능한 런타임 환경을 구축한다.

☄ JRE 구성요소

🧾 Reference

Top
Foot