今天看到了一道面试题,jdk和jre的区别。
特意查了资料jre和jdk有什么区别。
jre:java runtime environment 是java运行时的 运行环境,然后java是通过jvm虚拟机运行的,所以jre包括jvm并且也包括java类库里面的class文件。
jdk:是java devolopment kit,是java开发的工具包,里面包含了各类的类库 ,也当然包含了另一个jre,那么为什么要包含另一个类库呢?而且jdk/jre/bin同时有client和server两个文件夹都有jvm.dll,说明是有2个虚拟机的。
jdk的bin下有java程序所需要的指令,与jre的bin目录最明显的区别是就是jdk下面才有的javac,这一点很好理解,因为jre仅仅是一个运行环境,与开发并没有什么关系,也就是jre能运行(已经编译过得代码) 但是却不能编译,所以jdk下面的jre可以有client和server两种性质的虚拟机。
在安装jdk 的时候都会进行设置jdk的环境变量,但是在安装jre的时候并不需要设置环境变量 在安装jre的时候自动把你的java 。exe添加到系统变量中了 。
总结一下,jdk是java开发工具包的缩写。它是一种构建在java平台上发布的应用程序、apple和组件的开发环境。JDK是一切java应用程序的基础,所有的java应用程序是构建在这个之上的。它是一组API,也可以说是一些java Class。要成为一个Java程序员,JDK是必不可少的最基本的工具。
JRE是Java运行环境(Java Runtime Enviroment)的缩写。它基本上就和Java虚拟机是同一个概念。一般来说,在谈论一个具体的产品的时候,可以说“JRE”,而说到理论中的一个模型的时候,我们常用的是“Java虚拟机”。要使用Java程序,JRE是必不可少的环境。
转载自:http://ihyperwin.iteye.com/blog/1513754(稍微有改动)