2014-01-19 5 views
0

저는 최근에 JAVA 학습을 시작했습니다. 제 선생님은 JVM이 기본적으로 Virtual이 물리적으로나 소프트웨어로서 존재하지 않는다고 말했습니다. 그에 따르면 JVM은 다른 플랫폼 용 JRE를 개발하는 데 필요한 사양 문서 일뿐입니다. JRE는 바이트 코드 등을 실행하는 모든 작업을 수행하는 JVM의 실제 구현입니다.JVM과 JRE 사이의 차이점

나는 자신을 검색했으나 어디서나 똑같은 것을 발견하지 못했습니다. 대신 많은 사람들이 JVM을 사용하여 바이트 코드를 실행하고 JRE가 런타임을 제공한다고 말합니다. 그게 아주 불만족 스럽네.

그래서 JVM과 JRE의 차이점을 알고 싶습니다. oracle이나 sun microsystem의 실제 문서가 있다면. 그런 다음 링크를 제공하십시오

+0

@Troubleshooot 차이점에 대해서는 묻지 않습니다. JVM이 사양 문서 일지 여부를 묻는 중입니다. – Adhikari

답변

0

위키 백과를 확인 했습니까? http://en.wikipedia.org/wiki/Java_virtual_machine @ 사진을보십시오. Java API와 JVM은 함께 Java Runtime Environment (JRE)를 구성합니다.

+0

JVM은 사양 문서 또는 .class 파일 형식을 실행하는 명령어 집합입니다. – Adhikari

+0

JVM 자체가 사양이라고 말할 수 있습니다 (사용 가능한 집합에 대한 사양도 포함되어 있습니다). Oracle의 경우처럼 "각 특정 호스트 운영 체제에는 공급 업체가 JVM을 자체 구현해야하므로"Oracle JVM의 경우에도 각 OS마다 다른 구현이 필요합니다. . –

+0

: 그렇습니다. JVM이 스펙이고 JRE가 JVM의 실제 구현이라고 생각합니다.그렇다면 JVM이 바이트 코드를 실행한다고 말하는 것이 맞습니다. 우리는 그것이 다른 스펙이 JRE 버전을 쓸 수 있도록 알고 있습니다. – Adhikari

5

이러한 유형의 질문을 게시하기 전에 검색하는 방법을 알아보십시오. P

http://www.javabeat.net/what-is-the-difference-between-jrejvm-and-jdk/

JVM 자바 가상 머신 (JVM) 자바 바이트 코드를 실행하는 가상 머신입니다 : 구글은 여러면에서 정말 유용합니다. JVM은 자바 오타를 이해하지 못하기 때문에 * .java 파일을 컴파일하여 JVM이 이해할 수있는 바이트 코드를 포함하는 * .class 파일을 얻습니다. 또한 Java가 "휴대용 언어"(한 번 쓰기, 어디서나 실행)가되도록하는 엔티티입니다. 실제로 다른 시스템 (Windows, Linux, MacOS, wikipedia 목록 참조)에 대한 JVM의 특정 구현이 있습니다. 목표는 동일한 바이트 코드로 모두 동일한 결과를 제공한다는 것입니다. (JRE)

자바 런타임 환경 (JRE) 자바 런타임 환경 :

JDK 및 JRE

는 JDK와 JRE의 차이를 설명하기 위해, 최선은 Oracle 설명서를 읽고 그림을 참조하는 것입니다 라이브러리, Java Virtual Machine 및 Java 프로그래밍 언어로 작성된 애플릿 및 응용 프로그램을 실행하기위한 다른 구성 요소를 제공합니다. 또한 두 가지 주요 배포 기술이 JRE의 일부입니다. Java Plug-in은 애플릿을 널리 사용되는 브라우저에서 실행할 수있게합니다. 독립 실행 형 응용 프로그램을 네트워크를 통해 배포하는 Java Web Start 등이 있습니다. 또한 엔터프라이즈 소프트웨어 개발 및 배포를위한 J2EE (Java 2 Platform, Enterprise Edition)의 기술 토대이기도합니다. JRE에는 애플릿 및 응용 프로그램 개발을위한 컴파일러 또는 디버거와 같은 도구 및 유틸리티가 포함되어 있지 않습니다.

Java Development Kit (JDK) JDK는 JRE의 상위 세트이며 JRE에있는 모든 항목과 애플릿 및 응용 프로그램 개발에 필요한 컴파일러 및 디버거와 같은 도구를 포함합니다.

What is the difference between JVM, JDK, JRE & OpenJDK?

관련 문제