2017-05-27 45 views
0

我在部署java web服务时发现了两个选择(其余的api使用spring-boot和family构建)。运行java web服务(基于rest)的最佳选择(JRE/JDK vs Server JRE)

  1. 安装JRE/JDK,并使用-server参数用于启动服务 java -server -classpath lib\*.jar -Denv=staging com.acme.pos.application.Application
  2. http://www.oracle.com/technetwork/java/javase/downloads/server-jre8-downloads-2133154.html安装服务器JRE并使用上述java命令

是否有人可以回答这个问题的最佳实践的角度?

回答

1

这些选项无关,Server JRE是服务器的特定包装,以避免必须安装具有相关安全风险的完整JDK。 Oracle在下载页面上对此进行了说明:

Server JRE包含JVM监视工具和服务器应用程序通常所需的工具,但不包括浏览器集成(Java插件)。

你应该做2,如上所述,也许1,优化了JVM的服务器工作负载,因为性能优势。但是,请看http://docs.oracle.com/javase/8/docs/technotes/tools/windows/java.html:在64位JVM上,服务器虚拟机是唯一可用的虚拟机。

+0

当你说选项不相关时,是否意味着选项选择应该基于用例?比方说,我只需要在VM上部署服务,选项2是最合适的一个? – Kunal

+0

在我看来,服务器JRE是专用服务器的最佳选择,因此您应该在服务器上安装一个服务器JRE,而不是完整的JDK,无论您是否还要添加'-server'取决于您计划使用的JVM,32位或64位。但是,在64位JVM上,该选项是无害的,因此您可以随时添加该选项以实现其启用的服务器工作负载优化。顺便说一句,这就是我们所做的。 – fvu

+0

感谢您解释:) – Kunal

相关问题