JDK: Java开发工具包,英文单词:Java Development TooKit,JDK是整个JAVA的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(即Java API 包括rt.jar),JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了属于自己的JDK,例如国外IBM公司开发了属于自己的JDK。

   Java中的JDK有以下三种版本:

   (1).Java SE以前称J2SE(Java Planform Standard Edition,Java标准版平台),主要应用于开发和部署在桌面和服务器的Java应用程序,支持Java Web服务开发的类,并为Java EE提供基础。

   (2).Java EE(Java Planform Enterprise Edition,企业版平台),主要应用于开发和部署企业版的可移植的、健壮的、可伸缩的Java应用程序,且安全的服务器端,在Java SE的基础上构建的,它提供Web服务,

   (3).Java ME(Java Planform Micro Edition,a微型版平台 )主要应用于开发和部署移动设备和嵌入式设备(如:手机)的Java应用程序。

    JRE:Java  Runtime  Enviromental(java运行时环境),也就是我们说的JAVA平台,所有的Java程序都要在JRE下才能运行。包括JVM和JAVA核心类库和支持文件。与JDK相比,它不包含开发工具——编译器、调试器和其它工具。

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

    三者之间的关系:我们利用JDK(调用JAVA API)开发了属于我们自己的JAVA程序后,通过JDK中的编译程序(javac)将我们的文本java文件编译成JAVA字节码,在JRE上运行这些JAVA字节码,JVM解析这些字节码,映射到CPU指令集或OS的系统调用,JDK中包含JRE,JRE中包含JVM