【问题标题】:Best option for running java web service (rest based) (JRE/JDK vs Server JRE)运行 java web 服务的最佳选择(基于 rest)(JRE/JDK 与服务器 JRE)
【发布时间】:2017-05-27 11:22:26
【问题描述】:

我在部署 java web 服务时偶然发现了两个选项(rest 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命令

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

【问题讨论】:

    标签: java deployment microservices


    【解决方案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 上,服务器 VM 是唯一可用的。

    【讨论】:

    • 当您说选项无关时,是不是意味着选项选择应该基于用例?比方说,我只需要在 VM 上部署服务,选项 2 最合适吗?
    • 在我看来,Server JRE 是专用服务器的最佳选择,因此您应该将其安装在服务器上而不是完整的 JDK 上,是否还添加 -server 取决于您的 JVM计划使用,32 位或 64 位。但是,在 64 位 JVM 上,该选项是无害的,因此您始终可以添加它以受益于它启用的服务器工作负载优化。顺便说一句,这就是我们所做的。
    • 感谢您的解释:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-29
    • 1970-01-01
    • 1970-01-01
    • 2021-01-22
    相关资源
    最近更新 更多