JVM - JDK, JRE, JVM이란?

유사개발자·2022년 8월 18일
0

JVM

목록 보기
1/1
post-thumbnail

🔴JDK(Java Development Kit)란?

말 그대로 java로 소프트웨어 개발을 할 수 있도록 여러 기능들을 제공하는 패키지다.

🔴JDK구성은 간략히

  • javac : 자바 컴파일러, 자바 소스파일을 바이트코드로 변환

  • java : javac가 만든 클래스 파일을 해석 및 실행

  • jar : 서로 관련있는 클래스 라이브러리들과 리소스를 하나의 파일로 만들어주는 툴

  • jdb : 자바 디버깅 툴

  • JRE(Java Runtime Enviroment) : java가 동작하는데 필요한 JVM, 라이브러리 등
    다양한 파일들을 포함한다. java를 실행만 할꺼면 요거만 설치받으면 된다.

  • JVM(Java Virtual Machine) : java가 실제로 동작하는 가상환경.

🟠JRE(Java Runtime Environment)이란?

  • 자바 런타임 환경이라는 뜻이다.

  • JVM을 실행할 수 있는 최소한의 라이브러리를 포함한 것.
    (AWT, Swing, JDBC, JNDI, 컬렉션 프레임워크, 기본 설정 API 등등등.. )

  • JRE는 JVM의 실행환경을 구현했다고 할 수 있다.

  • JDK 설치 시 포함되어 있으며 JRE만 따로 설치 할 수도 있다

🟡JVM(Java Virtual Machine)이란?

  • java는 os에 종속적이지 않다는 특징이 있음
  • 즉, OS에 종속받지 않고 cpu가 java를 인식, 실행할 수 있게 하는 가상 컴퓨터 이다.
  • JRE에서 만들어 준 바이트 코드를 각 운영체제에 맞는 기계어로 바꾸어
    실행 될 수 있는 환경을 제공.

🟡JVM의 세가지 구성요소

  • Class Loader
  • Runtime Data Areas
  • Execution Engine

❗주요 차이점

  • JDK는 개발 플랫폼이고 JRE는 실행용이다.
  • JVM은 Java 프로그래밍 언어의 기초 또는 핵심이며 프로그램의 Java 소스 코드가 플랫폼에 구애 받지 않도록 한다..
  • JVM은 JDK와 JRE모두에 포함되어 있으며, JVM없이는 java 프로그램이 실행되지 않음.

❕보완 기술

JVM, JRE 또는 JDK를 향상 시키는데 사용할 수 있는 많은 보완 기술이 있다.

  • JIT(Just-In-Time Compiler) 는 인터프리터 방식의 단점을 보완하기 위해 도입되었고,
    JVM의 일부이며 바이트 코드를 기계 코드로 변환하는 것을 최적화 한다. 동시에 컴파일할 유사한 바이트 코드를 선택하여 바이트 코드에서 기계 코드 컴파일까지의 전체 기간을 줄인다.

  • Javac는 java를 읽고 JVM에서 실행할 수 있는 바이트 코드로 변환하는 컴파일러 이다.

  • Javadoc은 API문서를 Java 소스 코드에서 HTML로 변환한다. 이것은 HTML로 표준 문서를 생성할 때 유용함.

참조사이트
https://www.ibm.com/kr-ko/cloud/learn/jre
https://www.ibm.com/cloud/blog/jvm-vs-jre-vs-jdk?mhsrc=ibmsearch_a&mhq=JVM

profile
개발자와 유사한 개발자입니다

0개의 댓글