运行 java Web 服务的最佳选择(基于 rest)(JRE/JDK vs Server JRE)

Best option for running java web service (rest based) (JRE/JDK vs Server JRE)

我在部署 java Web 服务时偶然发现了两个选项(其余 api 使用 spring-boot 和 family 构建)。

  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 命令

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

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

The Server JRE includes tools for JVM monitoring and tools commonly required for server applications, but does not include browser integration (the Java plug-in).

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