我是java的新手。我有一个混乱,使用解释器来执行java程序,因为我可以看到bin文件夹中的两个java.exe和&其他里面的jre的bin文件夹。
等待专家的宝贵答案!!!
我想添加一些细节来清除我的查询:
假设java安装在C:\ Program Files \ Java \ Jdk1.6中,现在,在这个目录中有jre文件夹,bin文件夹&其他文件夹,但让我们专注于这两个。这个.. \ jre \ bin文件夹包含java.exe& .. \ bin文件夹中还包含java.exe所以,我关心的是哪个java解释器用于执行java程序。
我希望这有助于你更好地理解我的问题
答案 0 :(得分:9)
从Java SE安装说明:
http://www.oracle.com/technetwork/java/javase/documentation/install-windows-142126.html#private
安装JDK会安装私有Java SE运行时环境(JRE)和可选的公共副本。运行JDK附带的工具需要私有JRE 。它没有注册表设置,完全包含在jre目录中(通常位于
C:\Program Files\jdk1.6.0\jre
),其位置仅为JDK所知。另一方面,公共JRE 可以被其他Java应用程序使用,包含在JDK之外(通常在C:\Program Files\Java\jre1.6.0
),在Windows注册表中注册(在HKEY_LOCAL_MACHINE \ SOFTWARE \ JavaSoft)可以使用“添加/删除程序”删除,可能会也可能不会在浏览器中注册,并且可能会也可能不会将java.exe复制到Windows系统目录(使其成为默认的系统Java平台)。
所以我认为在执行Java程序时应该使用/ bin目录中的可执行文件。
答案 1 :(得分:1)
JRE:Java运行时环境。它基本上是运行Java程序的Java虚拟机。它还包括用于Applet执行的浏览器插件。
JDK:它是用于Java的全功能软件开发工具包,包括JRE,以及用于创建和编译程序的编译器和工具(如JavaDoc和Java Debugger)。
通常,当您只关心在浏览器或计算机上运行Java程序时,您只会安装JRE。这就是你所需要的一切。另一方面,如果您计划进行一些Java编程,那么您还需要JDK。
有时,即使您不打算在计算机上进行任何Java开发,仍然需要安装JDK。例如,如果要使用JSP部署WebApp,那么从技术上讲,您只是在应用程序服务器中运行Java程序。那你为什么需要JDK呢?因为应用服务器会将JSP转换为Servlet并使用JDK来编译servlet。我相信可能会有更多的例子。
答案 2 :(得分:1)
检查java.home属性。它应该指向一个或另一个。我来了..
Name Value
java.home C:\Program Files\Java\jre6
答案 3 :(得分:1)
请检查java.exe
个文件的文件大小和档案。
应该是一样的。
在我看来,JDK是JRE的一种超集。因此,如果您需要更多工具来构建或编译,那么JDK就是您的最佳选择。否则你可以使用JRE
答案 4 :(得分:0)
如果您安装了JRE,则java.exe应该在这里 C:\ Program Files \ Java \ jre6 \ bin
如果你安装了JDK,那么java.exe将在两个地方: C:\ Program Files \ Java \ jdk1.6.0_25 \ bin C:\ Program Files \ Java \ jdk1.6.0_25 \ jre \ bin
如果你同时安装了jdk和jre,你可以将C:\ Program Files \ Java \ jdk1.6.0_25 \ jre与C:\ Program Files \ Java \ jre6 \ bin进行比较,它们几乎或完全相同,你可以使用其中任何一个的java.exe,但我想大多数人都会使用C:\ Program Files \ Java \ jdk1.6.0_25 \ bin中的那个
答案 5 :(得分:0)
对于您提供的路径,我认为您使用的是Windows。
现在,您正在使用哪个java.exe
?
这可能取决于您正在执行的内容。如果您正在运行 applet , jar 或 Java Web Start ,您将使用其中的java.exe
bin
环境变量指向的PATH
目录。此外,如果您打开控制台并执行java
,您将运行“PATH”变量指向的java.exe
。
如果您正在运行.bat
文件,请检查它是否使用了不同的环境变量。通常使用JAVA_HOME
或JAVA_SDK
。
答案 6 :(得分:0)
从我的知识中我可以说没有区别除了jdk和jre的目的两个java.exe是相同的。