다음 사항에 대해 자세히 설명해주십시오.JVM, JDK, JRE, JIT의 계층 구조는 무엇입니까?
- JDK에는 JRE가 포함되어 있습니까?
- JDK는 .class를 .class로 변환 한 다음 JVM이 .class를 인식하고 바이너리로 변환 한 다음 OS가 바이너리를 직접 이해할 수있을 때 실제로 JRE가 실제로 필요합니까?
- openJDK 란 무엇입니까?
다음 사항에 대해 자세히 설명해주십시오.JVM, JDK, JRE, JIT의 계층 구조는 무엇입니까?
자바 개발자는 Java 프로그램을 개발하는 데 필요한 도구가 포함되어 키트 (JDK) 및 JRE 프로그램을 실행하십시오. 도구에는 컴파일러 (javac.exe), Java 응용 프로그램 시작 기 (java.exe), Appletviewer 등이 포함됩니다. 컴파일러는 java 코드를 바이트 코드로 변환합니다. Java 응용 프로그램 시작 프로그램은 JRE를 열고 클래스를로드 한 다음 main 메소드를 호출합니다. 자신 만의 프로그램을 작성하고 컴파일하려면 JDK가 필요합니다. 실행중인 Java 프로그램의 경우 JRE로 충분합니다.
JRE는 Java 파일의 실행 대상입니다. 즉 JRE = JVM + Java 패키지 클래스 (util, math, lang, awt, swing 등) + 런타임 라이브러리. JDK는 주로 자바 개발을 목표로합니다.
OpenJDK (Open Java Development Kit)은 Java SE (Java Platform, Standard Edition)의 무료 오픈 소스 구현입니다.
Just-In-Time (JIT) 컴파일러는 런타임시 Java 응용 프로그램의 성능을 향상시키는 Java ™ Runtime Environment의 구성 요소입니다.
전체 개념 다이어그램 here을 얻을 수 있습니다.
[this] (http://docs.oracle.com/javase/7/docs/)에서 JDK, JRE 및 JVM (Java HotSpot Client 및 Server VM)에 대한 명확한 이미지를 얻을 수 있습니다. 그 말을 읽지 마라. 이미지와 비슷한 표를보십시오. – johnchen902