gpt4 book ai didi

java - Java JDK 相对于 JRE 的优势

转载 作者:行者123 更新时间:2023-11-28 22:52:24 25 4
gpt4 key购买 nike

有人能为我总结一下在服务器环境(即 Tomcat)中使用 Oracle Java JDK 而不是 JRE 的所有优势吗?使用我喜欢的搜索引擎,我只能找到部分自相矛盾的片段。

最佳答案

我对情况的总体评估是,我们从这些包(JDK、JRE)中得到什么是由打包团队决定的。在某种程度上,它是任意的。让我们看看如何在 Ubuntu 系统上使用 OpenJDK 7 包:

➜  ~  ls /usr/lib/jvm/java-7-openjdk-amd64/jre/bin
java keytool orbd pack200 policytool rmid
rmiregistry servertool tnameserv unpack200
➜ ~ ls /usr/lib/jvm/java-7-openjdk-amd64/bin
appletviewer idlj java javah jcmd jhat jps
jstack keytool pack200 rmid serialver unpack200
xjc apt jar javac javap jconsole jinfo
jrunscript jstat native2ascii policytool rmiregistry servertool
wsgen extcheck jarsigner javadoc java-rmi.cgi jdb jmap
jsadebugd jstatd orbd rmic schemagen tnameserv
wsimport

第一个位置是因为包 openjdk-7-jre(Java 运行时环境),而第二个位置是因为 openjdk-7-jdk(Java开发工具包)包。第二个 list 中的 java 实际上是第一个 list 中的 java 文件的符号链接(symbolic link)。

因此,您可以通过比较作为这些包的一部分获得的程序(可执行文件),了解 JDK 团队认为 JRE 和 JDK 之间的区别。

很长一段时间以来,我一直对这些软件包中的程序选择感到困惑。例如,我总是怀念jpsjstackjhatjmap等优秀的服务性工具只安装了 JRE。这些工具对于诊断 Java 运行时非常有用,但它们不是 JRE 的一部分。为了获得这些工具,人们不得不安装 JDK,这相当令人费解。正如其他人指出的那样,javac,Java 编译器绝对属于 JDK。

一般来说,我得出的结论是应该在目标系统上安装 JDK(超集)而不是 JRE,除非存在一些空间问题。

关于java - Java JDK 相对于 JRE 的优势,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36333413/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com