在搞清两者关系之前,要先明白二者是什么。
一、JAVA
是一种跨平台、面向对象的程序设计语言,其提供了丰富的类库、API文档和第三方开发包。但这些Java写成的类库,API文档等源码是无法直接运行的,需要借助JDK中的编译器编译之后转为一种Java字节码(.class文件)的中间语言,然后再由JDK中的Java虚拟机(JVM)(JDK的安装目录下有一个jre目录,jre目录里面的bin文件夹为jvm,lib文件为jvm所需的类库,二者合成jre) 将字节码进行解释和运行。在这个过程中,编译只进行一次,而解释在每次程序进行时都会进行。
主要分为两个版本:Java SE和 Java EE。
2.1Java SE全称Java Platform Standard Edition,是Java的标准版,主要用于桌面应用开发,它包含了Java语言基础,JDBC、I/O、TCP/IP网络、多线程等核心技术。
2.2Java EE全称Java Platform Enterprise Edition,是Java的企业版,主要用于开发服务器应用程序,如网站,服务器接口等,其核心为EJB。同时,Java EE兼容Java SE。
二、JDK
JDK是Java开发者工具箱,是编译和执行Java程序的一种必备工具箱,包含jre和编译器,调试器。
小结:Java编译器是开发Java程序用的, Java虚拟机是Java跨平台解释运行java程序用的。如果单纯的运行Java程序,安装jre就可,无需安装JDK。
三、JAVA和JDK
由于jdk中的jre目录中的lib目录中包含了java所提供的类库,API,一旦java所提供的的类库等发生变化,版本发生更新,JDK的版本也要相对应的更新以适应新的JAVA功能,所以如果就开发程序而言二者的版本关系是等价相等的。