jdk和jre的区别。

这个问题其实一直困扰了我很久。我也查阅了很多相关的资料,今天打算总结一下。


jre是运行环境,如果你只想运行你java程序,就只要装jre就可以 SDK是java的开发工具包 是让你开发java程序,并让其运行使用的,它包括了jre,javac.exe,java.exe,等一系统的开发工具,也包括了api的源码

安装Java后有jdk和jre两个文件夹,但jdk下还有一个jre文件夹,而且这个jre比前面那个jre多了server文件,两个jre内部封装的函数差不多 都是实现相同的接口 但是内容却是不一样 jdk中的jre是关系程序的编译虚拟环 层的jre是实现运行时提供的环境.


我们可以做个这样的实验:当你安装java开发环境的时候你会发现系统中有两套jre,一套在/jre,一套在jdk面。如果你把/jre的给删了或者移走,你编译完一个.java文件之后,想要运行编译后得到的.class文件发现会报错。如图:


正常情况下没有删除/jre则是:


所以这里做个总结:

jdk里的jre是服务于javac.exe,java.exe等一系列的开发工具的运行环境。因为javac.exe等是靠java编写的代码编译工具,而靠java编写的程序都必须运行在jre之上,所以jdk中也有个jre。而外部的/jre则是给开发完了一个java程序并且经过jdk中的编译工具在jdk自带的jre环境下编译的字节码运行的jre。

猜你喜欢

转载自blog.csdn.net/yifouhu2947/article/details/79397815