需要服务器VM但在JRE中不可用.然后我需要什么包:JRE,JDK?

tes*_*stk 5 java jvm java-server

这是上下文:我刚刚开发了一个需要在SERVER模式下启动的应用程序(java -server).我正在使用JSE SDK(JDK),因为JDK具有服务器VM,所以我没有运行应用程序的任何问题.现在,我正在尝试创建一个安装程序,以便人们可以在他们的计算机中安装此应用程序.但此时我注意到了这一点:

大多数用户已安装的JRE(为了运行Java应用程序)没有服务器VM,因此我的应用程序将无法运行.因此,我的问题是:

  • 有没有办法将服务器VM添加到已安装的JRE中?
  • 对于那些没有安装java的用户......我应该建议安装哪个软件包?JDK还是JRE?

我有点困惑......不确定哪些软件包有服务器VM.

小智 6

您可以选择将服务器HotSpot VM包含在JRE的重新分发副本中.JDK的专用JRE中的"jre\bin\server \"目录包含HotSpot Server VM.如果您遵循JDK自述文件中规定的要求,则允许将此包含在JRE的发行版中.

从JDK 7自述文件:

在Microsoft Windows平台上,JDK包括Java HotSpotTM Server VM和Java HotSpotTM Client VM.但是,Microsoft Windows平台的JRE仅包含Java HotSpotTM客户端VM.那些希望将Java HotSpotTM Server VM与JRE一起使用的人可以将JDK的jre\bin\server文件夹复制到JRE中的bin\server目录.软件供应商可以使用JRE的重新分发来重新分发Java HotSpotTM Server VM.

http://www.oracle.com/technetwork/java/javase/jdk-7-readme-429198.html#jre (检索2012年9月22日)


Eri*_*son 3

只需使用客户端模式即可。

你不会找到一个好的解决方案。你可以建议他们都安装启用了服务器模式的JDK,但你的应用程序应该有比这更顺利的交付。如果您将应用程序交付给服务器人员,您可以轻松地说它需要在服务器模式下运行并让他们处理它。

服务器模式是一种优化,以牺牲启动时间来换取长期速度的提高。任何应用程序都不需要它,尤其是要交付给客户端计算机的应用程序。