本周进行一些测试我发现了这种情况:
当我使用jdk/jre/bin/java中的java可执行文件运行tomcat时,性能比使用jdk/bin/java运行时要好很多.问题是:有人知道为什么jdk包提供了2个java可执行文件,它们之间有什么区别可以证明性能差异?
hoc*_*age 10
我迟到了,但是......我来到这里寻找javaOpenJDK中几个变种之间的区别.我最后只得到了一些澄清和其他问题,以解决"他们之间有什么区别"问题的一部分; 希望它有所帮助.
查看OpenJDK(我正在使用OpenJDK 1.7.0)基本目录,我看到三个 java s,都有不同的哈希值:
bin/java,二进制 jre-abrt/bin/java,二进制; 假设ABRT是自动错误报告工具 jre/bin/java中,外壳脚本execS中的jre-abrt/bin/java变型中,以两种不同的方式(更下文)之一.上面的二进制变体具有相同的文件大小和创建时间(在我的版本和系统中,无论如何),但两个文件之间有4个字节不同(我没有进一步看 - 这是你问题的另一部分 - -但它们是不同的,它看起来并不像一个ASCII字符串,例如).
脚本变体是你说的更快,这似乎违反直觉,因为它似乎做得更多.(或许你只是看到了执行脚本的时间而不是exec'd java命令?).该脚本检查是否存在ABRT共享对象文件,如果存在,则传递(作为-agentpath...).so和abrt=on.再次,这似乎应该只是更多的工作......假设使用ABRT.
如果您仍然对此主题感兴趣,可能会看到以下内容会很有趣:
/usr/lib64/libabrt-java-connector.so或其他内容jre/bin/java)jre-abrt/bin/java)更快inotify或strace什么的,但是这可能是巨大的像这样的服务.java.exe 文件实际上是相同的。JDK 是 Java 开发工具包,其中包括开发应用程序所需的所有 java 可执行文件。
JRE 是 Java 运行时环境,其中包括运行 Java 应用程序所需的环境
因此,为了在部署模式下运行应用程序,您只需要 JRE,因为最终用户可能只有 JRE 而没有 JDK。
| 归档时间: |
|
| 查看次数: |
2911 次 |
| 最近记录: |