jdk和jre的区别

来源:互联网 发布:before sunrise 知乎 编辑:程序博客网 时间:2024/05/21 11:01

名字:

jdk:java development kit 即java开发工具集(更强大
jre:java running environment即java运行环境(只需要可以运行java程序就好了

作用和功能上:

1.jdk目录下包括了一个jre,毕竟jdk是具备开发功能的工具集
2.两者都有bin目录,两者最明显的区别就是java/bin下有javac,而jdk/jre/bin和jre/bin下都没javac,这一点很好理解,因为jre只是一个运行环境而已,与开发无关,正因为如此,具备开发功能的jdk自己的jre下才会同时有client性质的jvm和server性质的jvm(如图1),而仅仅作为运行环境的jre下只需要client性质的jvm.dll就够了(如图二)。
jdk的jre的bin目录
jre的bin目录

环境变量path中设置jdk/bin路径:

不设置的话javac和java是用不了的。确实jdk/bin目录下包含了所有的命令。可是我们用的java命令并不是jdk/bin目录下的而是jre/bin目录下的。
理由:java可以提供给大多数人使用,他们是不需要jdk做开发的,只需要jre能让java程序跑起来就可以了,那么每个客户还需要手动去设置环境变量多麻烦啊?所以安装jre的时候安装程序自动帮你把jre的java.exe添加到了系统变量中,验证的方法很简单,大家看到了系统环境变量的如果强行能够把jdk/bin挪到system32变量前面,当然也可以迫使使用jdk/jre里面的java,不过除非有必要,我不建议大家这么做。使用单独的jre跑java程序也算是客户环境下的一种测试。

0 0
原创粉丝点击