Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.exe与jdk(包括)jre有什么区别?_Java - Fatal编程技术网

java.exe与jdk(包括)jre有什么区别?

java.exe与jdk(包括)jre有什么区别?,java,Java,因此,我一直认为jdk\bin中的java.exe与jdk\jre\bin文件夹中的。显然,情况并非如此,java8肯定不是这样 我在测试maverick ssh库时发现,当使用jdk\bin中的java.exe时,它不会自动协商sshd服务器提供的列表中的加密密码。将使用的java.exe更改为jdk提供的jre中的java.exe(在jdk\jre\bin文件夹中),可以让测试应用程序正常工作 所以。。。有什么可能解释这种差异?如果两者相同,为什么一个java.exe可以工作而另一个不行 它

因此,我一直认为
jdk\bin
中的
java.exe与
jdk\jre\bin
文件夹中的
。显然,情况并非如此,java8肯定不是这样

我在测试maverick ssh库时发现,当使用
jdk\bin
中的
java.exe
时,它不会自动协商sshd服务器提供的列表中的加密密码。将使用的java.exe更改为jdk提供的jre中的java.exe(在
jdk\jre\bin
文件夹中),可以让测试应用程序正常工作

所以。。。有什么可能解释这种差异?如果两者相同,为什么一个
java.exe
可以工作而另一个不行

它们在曲面上显示相同:

C:\Program Files\Java\jdk1.8.0_20>dir bin\java.exe

08/22/2014  03:35 PM           190,856 java.exe

C:\Program Files\Java\jdk1.8.0_20>dir jre\bin\java.exe

08/22/2014  03:35 PM           190,856 java.exe
但在引擎盖下必须有所不同:

C:\Program Files\Java\jdk1.8.0_20>diff bin\java.exe jre\bin\java.exe
Files bin\java.exe and jre\bin\java.exe differ
编辑

我确实审查了作为重复提出的问题,但它没有解决我的问题

二进制文件的版本看起来相同:

C:\Program Files\Java\jdk1.8.0_20>bin\java -version
java version "1.8.0_20"
Java(TM) SE Runtime Environment (build 1.8.0_20-b26)
Java HotSpot(TM) 64-Bit Server VM (build 25.20-b23, mixed mode)

C:\Program Files\Java\jdk1.8.0_20>jre\bin\java -version
java version "1.8.0_20"
Java(TM) SE Runtime Environment (build 1.8.0_20-b26)
Java HotSpot(TM) 64-Bit Server VM (build 25.20-b23, mixed mode)
除了java.exe的路径外,我没有调整类路径或命令行上的任何其他内容

使用WinMerge比较了两者。。。这两个文件的开始和结束(moreso)有一些差异。对我来说,一切都很好


重新使用该库并获得不同的结果,这几乎肯定与
java.exe
无关,而是与JDK安装与JRE安装使用的类路径和JAR有关


如果你的文件不一样,那不仅仅是你:我找到了一台Windows8.1机器,上面有Oracle的Java8(一个旧版本),而且是一样的:大小、日期和版本匹配,内容不完全匹配。我的Linux机器上安装了Oracle的Java8,而
jdk/bin/java
jdk/jre/bin/java
文件是相同的(不仅仅是符号链接的)。我猜这与优化默认值有关,但与您的ssh库问题无关。

可能有些不同。@angstadt530的可能重复:可能,但Jon指出他的文件实际上是不同的,而这个问题不是,这不是第一次优化破坏了某些东西。接受这一点,因为这似乎是最合理的建议。