我需要安装JDK和JRE吗?

35

我以前安装了JRE 7,现在我安装了JDK 8并删除了我的JRE 7文件夹。我正在使用Eclipse Kepler,我添加了JDK 1.8到已安装的JRE中。我可以删除JRE 1.8文件夹吗?它占据了我的电脑空间,这会导致任何问题吗?


1
你的意思是删除JDK内部的jre文件夹吗?我不会这样做。如果它是你单独安装的JRE,那么可以删掉。 - Thilo
1
无论如何,我都不会删除文件夹,并使用适当的卸载程序。 - Gimby
如果您没有安装JRE,那么在Windows中您将找不到java控制面板javaws.exe - Voyager
3个回答

35

JRE是JDK的一部分。

当您拥有JDK时,无需安装JRE。如果您打开JDK文件夹并查看,您会发现其中有一个JRE文件夹,它与您最初拥有的JRE文件夹相同。


2
我只想补充一下,JRE是Java运行时环境,而JDK是Java开发工具包,其中包含JRE以运行Java和其他用于Java开发的工具。 - Gaël J
那么为什么在下载JDK时会安装JRE呢? - Philip Rego
5
自Java 10 SDK起,就不再有JRE文件夹了。 - uzay95
为什么Oracle安装程序总是同时安装JRE呢?这是我经常问自己的问题 :-) - Pwnstar
@uzay95,那么JDK版本大于10的JRE文件夹在哪里? - sat63k

22

所有人都说JDK包括JRE,这是完全正确的。

但是让我更详细地解释一下,以满足实际的结构要求。

当员工在某个项目上工作时,他们需要JDK来编写和编译代码。但是在开发过程完成后,软件准备好交付给客户机,客户机必须选择是否需要安装JDK或者JRE。

我建议在客户机上安装JRE,因为客户端不需要编译代码。客户端总是直接执行代码。

因此,请确保在客户机上安装JRE,而不是JDK。这也将带来内存利用率的优势。

谢谢。


2
有些应用程序在运行时也需要JDK。例如编译JSP。此外,“内存利用率”:真的吗?相同的代码在JDK和JRE上运行会使用不同数量的内存吗? - Thilo
@Thilo 我指的是“内存利用率”,即使用JDK与JRE会使用不同数量的内存,这会影响性能。 - Vishal Gajera
是的。你说的“JDK占用的内存比JRE多”是什么意思?你是指“javac”还是“wsdl2java”?它们甚至不是JRE的一部分,怎么能进行比较呢?而且客户端为什么要运行它们呢?或者你是指“java”?那应该是完全相同的。你在回答中的措辞让人觉得如果安装完整的JDK,应用程序的性能会变差。我对此表示反对。 - Thilo
让我们在聊天中继续这个讨论 - Vishal Gajera
1
你说到了重点! - Gadrawin
显示剩余3条评论

7

您可以删除JRE。 JDK是JRE的超集,已经包含了所有内容。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接