首页 > 编程知识 正文

jre是java程序的什么(java的jre有什么用_jdk和jre是什么?都有什么用)

时间:2023-05-03 13:04:22 阅读:123769 作者:4007

虽然您可能会在安装JDK时选择是否安装单独的jre,但通常会一起安装。 我也建议这么做。

因为它有助于揭示差异:

Jre是java运行时环境,是java程序的执行环境。 既然要执行,jvm (即众所周知的虚拟机)和所有java类库的class文件都必须打包为lib目录下的jar。 大家可以自己验证。 windows上的虚拟机是哪个文件? 学习过MFC的人知道什么是dll文件吧。 那么,让我们看看jre/axdwd/client中是否有jvm.dll。 那就是虚拟机。

Jdk是java开发工具包,是包含各种类库和工具的java开发工具包。 当然也包括别的Jre。 那么,为什么要包括另一个Jre呢? 此外,jdk/jre/axdwd在客户端和服务器文件夹下均包含jvm.dll。 表明有两个虚拟机。 不知道大家有没有注意到这个?

您可能知道在jdk的axdwd下有各种java程序所需的命令,但与jre的axdwd目录最明显的区别在于,只有在jdk下才有javac。 因为jre只是运行环境,所以很容易理解。 与开发无关,正因为如此,具有开发功能的jdk自己的jre下既有客户端的jvm,也有服务器的jvm,作为运行环境的jre下只有client的jvm.dll就足够了。

还记得在环境变量path中设置了jdk/axdwd路径吗? 这是大家学习Java的第一步吧。 老师教大家不能使用javac和Java。 确实,jdk/axdwd目录包含所有命令。 但是,有谁认为我们使用的java命令不是在jdk/axdwd目录下的,而是在jre/axdwd目录下的? 不知道是否可以做实验,大家把jdk/axdwd目录中的java.exe剪切到其他位置,然后运行java程序,发现了什么? 一切都好!

那么有人会问吗? 明明没有将jre/axdwd目录设置为环境变量?

想想如果java要提供给很多人,他们不需要开发jdk,只有jre能运行java程序就好了。 那么,每个客户需要手动设置环境变量有多麻烦? 所以,安装程序会在安装jre时自动将jre的java.exe添加到系统变量中。 验证的方法很简单。 大家在系统环境变量的path的开头添加了“%SystemRoot%/system32; %系统超级用户%; ”的配置。 现在,让我们到Windows/system32下看看。 你发现了什么? 有java.exe。

如果可以强制将jdk/axdwd移动到system32变量之前,当然也可以使用jdk/jre中的java,但除非需要,否则不推荐。 使用单独的jre运行java程序也是客户环境中的测试之一。

这样就能更好地理解jdk和jre内部的联系和不同了吧?

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。