以前都不知道JDK和JRE是什么,现在梳理一下,把概念弄清一下。
一般情况下,去下载JDK安装完之后,会有这两个文件夹,如图
由图中可以看出,一般下载的JDK里面已经含有JRE了。
JDK:Java Development Kit,译为JAVA开发工具。从名字我们可以知道,这是给我们Java开发者使用的开发工具。其里面包含了编译器和其他工具。
JRE:Java Runtime Enviroment,译为JAVA运行环境。从名字可以知道,这是给Java程序(指的是.class文件)跑的工具。
它们是包含关系:
借用一下http://www.javabeat.net/what-is-the-difference-between-jrejvm-and-jdk/的图,说明一下其实他们是一个包含关系,JDK包含了JRE,其中JRE又包含了JVM:
我们编写Java文件运行的时候,一般顺序为:
(1)在编辑器中写出Java程序
(2)保存文件,文件是.class的后缀名
(3)class文件被解析成字节码运行。
其中如果我们下载的是JRE而不是JDK,就只能完成第三步的操作而已。从这我们可以看出,服务器就适合这种需求:只是使用JRE来运行Java的class文件。
补充:其实一般我们下载的JDK里面有两个JRE,如图:
jdk文件夹中的JRE
JRE文件夹中jre
也就是说一个JDK里面可以不只是一个JRE。
------------------------------------------------------------ 2014-5-23 更新 ------------------------------------------------------------------------------------------------------
最近在看《深入理解javaJVM高级特性与最佳实验(第2版)》,其中的第一章第二节中的《JAVA技术体系》中有些关于JDK和JRE的介绍,觉得说的很好。
以下是原文:
我们可以把JAVA程序设计语言、JAVA虚拟机、JAVA API类库这三部分统称为JDK(JAVA Develop-ment Kit),JDK是用于支持JAVA程序开发的最小环境·······
另外,可以吧JAVA API类库中的JAVA SE API 子集和JAVA虚拟机这两部分统称为JRE(JAVA Runtime Environment),JRE是支持JAVA程序的运行的标准环境。