JVM은 무엇이며 자바 코드는 어떻게 실행하는 것인가.

소희·2022년 7월 14일
0

자바 기초 스터디

목록 보기
1/8
post-thumbnail

학습할 것

  • JVM이란 무엇인가
  • 컴파일 하는 방법
  • 실행하는 방법
  • 바이트코드란 무엇인가
  • JIT 컴파일러란 무엇이며 어떻게 동작하는지
  • JVM 구성요소
  • JDK와 JRE의 차이

JVM이란 무엇인가


JVM(Java Virtual Machine)이란 OS에 종속받지 않고 CPU가 JAVA를 인식, 실행할 수 있게 하는 가상 컴퓨터입니다.

컴파일 하는 방법



1줄 : 경로 이동
2줄 : notepad로 .java파일 생성(생성한 파일에 코딩)
3줄 : javac로 .java파일을 .class파일로 변경

실행하는 방법


생성한 .class파일을 java 파일명으로 실행시킨다.

바이트코드란 무엇인가


JVM이 이해할 수 있는 언어로 변환된 자바 소스 코드를 의미합니다.
자바 바이트 코드의 확장자는 .class 입니다.

JIT 컴파일러란 무엇이며 어떻게 동작하는지


JIT 컴파일러는 자바 런타임(JRE)의 구성요소로, 런타임에 바이트 코드를 기계 코드로 컴파일하여 바이트 코드를 더 빠르게 실행하도록 도와줍니다. 이는 일반적인 인터프리터에 비해 빠릅니다.

JVM 구성요소


JVM은 크게 4가지 구성으로 나누어집니다.

Class Loader

자바 컴파일러에 의해 바이트코드로 변환된 클래스를 읽어들여 Runtime Data Area에 적재하는 역할을 합니다.

Execution Engine

Class Loader에 의해 Runtime Data Area에 적재된 클래스(바이트코드)를 기계어로 변환하고 실행하는 역할을 합니다.

Garbage Collector

Garbage Collector(GC)는 Heap 영역에 생성되어 있는 객체들 중 참조되지 않는 객체를 찾아 제거하는 역할을 합니다.

Heap : new 키워드에 의해 생성되는 클래스와 배열 등이 저장됩니다.

Runtime Data Area

JVM의 메모리 영역으로 자바 애플리케이션을 실행할 때 사용되는 데이터들을 적재하는 영역입니다.

JDK와 JRE의 차이


JRE는 자바 런타임 환경을 말합니다. JRE는 JVM, Java 클래스 라이브러리 및 Java 응용 프로그램을 실행하는 데 필요한 기타 파일의 조합입니다. 프로그램을 개발하는 것은 불가능합니다. 따라서 JRE는 Java 프로그램을 실행하는 데에만 사용됩니다.

JDK는 약자 자바 개발 킷을 말합니다. Java 기반 응용 프로그램을 개발하는 데 도움이 됩니다. 프로그래머가 JDK를 설치하면 JRE가 이미 JDK에 설치되어 있으므로 JRE를 별도로 다운로드 할 필요가 없습니다.

결론

JDK와 JRE의 차이점은 JDK는 Java 프로그램을 개발하고 실행할 수 있는 환경을 제공하는 반면 JRE는 Java 프로그램을 실행하는 환경만 제공한다는 것입니다. 요약하면, JDK는 JRE와 개발 도구의 조합이며, JRE는 JVM과 라이브러리 파일의 조합입니다.

출처

https://velog.io/@ilil1/JVMJava-Virtual-Machine이란
https://velog.io/@minheum/자바-스터디-1주차-JVM
https://velog.io/@pkjeogus/JVM
https://ko.strephonsays.com/what-is-the-difference-between-jdk-and-jre

0개의 댓글