关于SDK_JDK_JRE_JVM的关系

SDK JDK JRE JVM 四者的关系java

 

一:SDKJDK的关系(能够认为jdk只是sdk的一种子集)架构

SDK是Software Development Kit的缩写,中文意思是“软件开发工具包”。这是一个覆盖面至关普遍的名词,能够这么说:辅助开发某一类软件的相关文档、范例和工具的集合均可以叫作“SDK”。SDK是一系列文件的组合,它为软件的开发提供一个平台(它为软件开发使用各类API提供便利)。app

    JDK(Java Development Kit,Java开发工具包)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最普遍的Java SDK(Software development kit)。能够认为jdk只是sdk的一种(子集),由于它是开发java程序的一个平台,开发其余程序的sdk能够没有jdk。jvm

 

二:JDK JRE JVM的关系(如图)工具

JDK(Java Development Kit)是针对Java开发员的产品,是整个Java的核心,包括了Java运行环境JRE、Java工具和Java基础类库。JRE(Java Runtime Environment)是运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。JVM是Java Virtual Machine(Java虚拟机)的缩写,是整个java实现跨平台的最核心的部分,可以运行以Java语言写做的软件程序。开发工具

 

 

 

JDK中包含JRE,在JDK的安装目录下有一个名为jre的目录,里面有两个文件夹bin和lib,在这里能够认为bin里的就是jvm,lib中则是jvm工做所须要的类库,而jvm和 lib和起来就称为jre。spa

 

JDK是整个JAVA的核心,包括了Java运行环境JRE(Java Runtime Envirnment)、一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。操作系统

  ①SE(J2SE),standard edition,标准版,是咱们一般用的一个版本,从JDK 5.0开始,更名为Java SE。调试

  ②EE(J2EE),enterprise edition,企业版,使用这种JDK开发J2EE应用程序,从JDK 5.0开始,更名为Java EE。blog

  ③ME(J2ME),micro edition,主要用于移动设备、嵌入式设备上的java应用程序,从JDK 5.0开始,更名为Java ME

 

JRE(Java Runtime Environment)

  是运行基于Java语言编写的程序所不可缺乏的运行环境。也是经过它,Java的开发者才得以将本身开发的程序发布到用户手中,让用户使用。

  JRE中包含了Java virtual machine(JVM),runtime class libraries和Java application launcher,这些是运行Java程序的必要组件。

  与你们熟知的JDK不一样,JRE是Java运行环境,并非一个开发环境,因此没有包含任何开发工具(如编译器和调试器),只是针对于使用Java程序的用户。

 

JVM:Java Virtual Mechinal(JAVA虚拟机)。JVM是JRE的一部分,它是一个虚构出来的计算机,是经过在实际的计算机上仿真模拟各类计算机功能来实现的。JVM有本身完善的硬件架构,如处理器、堆栈、寄存器等,还具备相应的指令系统。JVM 的主要工做是解释本身的指令集(即字节码)并映射到本地的 CPU 的指令集或 OS 的系统调用。Java语言是跨平台运行的,其实就是不一样的操做系统,使用不一样的JVM映射规则,让其与操做系统无关,完成了跨平台性。JVM 对上层的 Java 源文件是不关心的,它关注的只是由源文件生成的类文件( class file )。类文件的组成包括 JVM 指令集,符号表以及一些补助信息。

相关文章
相关标签/搜索