2017-05-27 113 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

相關問題