Java开发工具包是Java环境的核心组件,并提供编译、调试和运行一个Java程序所需的全部工具,可执行文件和二进制文件。JDK是一个平台特定的软件,有针对Windows,Mac和Unix系统的不一样的安装包。能够说JDK是JRE的超集,它包含了JRE的Java编译器,调试器和核心类。目前JDK的版本号是1.7,也被称为Java 7。 java
JVM是Java编程语言的核心。当咱们运行一个程序时,JVM负责将字节码转换为特定机器代码。JVM也是平台特定的,并提供核心的Java方法,例如内存管理、垃圾回收和安全机制等。JVM 是可定制化的,咱们能够经过Java 选项(java options)定制它,好比配置JVM 内存的上下界。JVM之因此被称为虚拟的是由于它提供了一个不依赖于底层操做系统和机器硬件的接口。这种独立于硬件和操做系统的特性正是Java程序能够一次编写多处执行的缘由。 编程
JRE是JVM的实施实现,它提供了运行Java程序的平台。JRE包含了JVM、Java二进制文件和其它成功执行程序的类文件。JRE不包含任何像Java编译器、调试器之类的开发工具。若是你只是想要执行Java程序,你只需安装JRE便可,没有安装JDK的必要。 安全
有时咱们会听到JIT这个概念,并说它是JVM的一部分,这让咱们很困惑。JIT是JVM的一部分,它能够在同一时间编译相似的字节码来优化将字节码转换为机器特定语言的过程类似的字节码,从而将优化字节码转换为机器特定语言的过程,这样减小转换过程所须要花费的时间。 编程语言