日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

jvm 参数-server_JVM选项:-client vs -server

發(fā)布時(shí)間:2023/12/3 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jvm 参数-server_JVM选项:-client vs -server 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

jvm 參數(shù)-server

您是否曾經(jīng)在運(yùn)行Java應(yīng)用程序時(shí)想知道-client或-server開關(guān)是什么? 例如:

javaw.exe -client com.blogspot.sdoulger.LoopTest

也顯示在java.exe的“幫助”中,例如,其中的選項(xiàng)包括:

-client選擇“客戶端” VM
-server選擇“服務(wù)器” VM

-client和-server系統(tǒng)之間有什么區(qū)別?

這兩個(gè)系統(tǒng)是不同的二進(jìn)制文件。 它們本質(zhì)上是與同一運(yùn)行時(shí)系統(tǒng)接口的兩個(gè)不同的編譯器(JIT)。 對(duì)于需要快速啟動(dòng)時(shí)間或較小占用空間的應(yīng)用程序,客戶端系統(tǒng)是最佳選擇;對(duì)于整體性能最為重要的應(yīng)用程序,服務(wù)器系統(tǒng)是最佳選擇。 通常,客戶端系統(tǒng)更適合于交互式應(yīng)用程序,例如GUI。 其他一些差異包括編譯策略,堆默認(rèn)設(shè)置和內(nèi)聯(lián)策略。

根據(jù)“ Java HotSpot性能引擎架構(gòu) ”:

JDK包括兩種VM:客戶端產(chǎn)品和為服務(wù)器應(yīng)用程序調(diào)整的VM。 這兩個(gè)解決方案共享Java HotSpot運(yùn)行時(shí)環(huán)境代碼庫(kù),但是使用不同的編譯器,這些編譯器適合于客戶端和服務(wù)器的獨(dú)特性能特性。 這些差異包括編譯內(nèi)聯(lián)策略和堆默認(rèn)值。

JDK在發(fā)行版中同時(shí)包含這兩個(gè)系統(tǒng),因此開發(fā)人員可以通過指定-client或-server來選擇所需的系統(tǒng)。

盡管服務(wù)器VM和客戶端VM相似,但已經(jīng)對(duì)服務(wù)器VM進(jìn)行了特殊調(diào)整,以最大程度地提高峰值運(yùn)行速度。 它旨在用于運(yùn)行長(zhǎng)時(shí)間運(yùn)行的服務(wù)器應(yīng)用程序,這些應(yīng)用程序需要比快速啟動(dòng)時(shí)間或較小的運(yùn)行時(shí)內(nèi)存占用更多??的最快的運(yùn)行速度。

客戶端VM編譯器可作為經(jīng)典VM和早期JDK版本使用的即時(shí)(JIT)編譯器的升級(jí)。 Client VM為應(yīng)用程序和小程序提供了改進(jìn)的運(yùn)行時(shí)性能。 Java HotSpot客戶端VM經(jīng)過特別調(diào)整,以減少應(yīng)用程序啟動(dòng)時(shí)間和內(nèi)存占用,使其特別適合客戶端環(huán)境。 通常,客戶端系統(tǒng)更適合GUI。

客戶端VM編譯器不會(huì)嘗試執(zhí)行服務(wù)器VM中由編譯器執(zhí)行的許多更復(fù)雜的優(yōu)化,但是作為交換,它需要較少的時(shí)間來分析和編譯一段代碼。 這意味著客戶端虛擬機(jī)可以更快地啟動(dòng),并需要較小的內(nèi)存空間。

注意:似乎性能差異的主要原因是優(yōu)化的數(shù)量。

Server VM包含一個(gè)高級(jí)自適應(yīng)編譯器,該編譯器支持通過優(yōu)化C ++編譯器執(zhí)行的許多相同類型的優(yōu)化,以及一些傳統(tǒng)編譯器無法完成的優(yōu)化,例如跨虛擬方法調(diào)用的主動(dòng)內(nèi)聯(lián)。 與靜態(tài)編譯器相比,這是一個(gè)競(jìng)爭(zhēng)優(yōu)勢(shì)和性能優(yōu)勢(shì)。 自適應(yīng)優(yōu)化技術(shù)的方法非常靈活,通常甚至優(yōu)于高級(jí)靜態(tài)分析和編譯技術(shù)。

兩種解決方案均提供了極其可靠,安全和可維護(hù)的環(huán)境,可滿足當(dāng)今企業(yè)客戶的需求。

默認(rèn)選項(xiàng):

  • 對(duì)于熱點(diǎn)是客戶
  • 對(duì)于JRockit是服務(wù)器

JRockit的客戶端和服務(wù)器VM選項(xiàng)
JRockit也有這兩個(gè)選項(xiàng),默認(rèn)為服務(wù)器選項(xiàng)(熱點(diǎn)是客戶端)。
JRockit客戶端選項(xiàng)為-client,服務(wù)器為-jrockit。

關(guān)于性能差異的動(dòng)手實(shí)例
摘自O(shè)nkar Joshi博客的示例證明了性能差異。

我們使用兩個(gè)開關(guān)運(yùn)行以下代碼:

package com.blogspot.sdoulger;public class LoopTest {public LoopTest() {super();}public static void main(String[] args) {long start = System.currentTimeMillis();spendTime();long end = System.currentTimeMillis();System.out.println("Time spent: "+ (end-start));LoopTest loopTest = new LoopTest();}private static void spendTime() {for (int i =500000000;i>0;i--) {}} }

注意:該代碼僅被編譯一次! 兩次運(yùn)行中的類都相同!

使用-client:
java.exe -client -classpath C:\ JDeveloper \ mywork \ Test_java_client-server_switches \ Project1 \ classes com.blogspot.sdoulger.LoopTest
花費(fèi)時(shí)間:766

使用-server:
java.exe -server -classpath C:\ JDeveloper \ mywork \ Test_java_client-server_switches \ Project1 \ classes com.blogspot.sdoulger.LoopTest
花費(fèi)時(shí)間:0

似乎是對(duì)服務(wù)器系統(tǒng)進(jìn)行了更為積極的優(yōu)化,因此刪除了循環(huán),因?yàn)樗浪粓?zhí)行任何操作!

挖掘更多/來源:

  • -client和-server系統(tǒng)之間有什么區(qū)別?
  • http://java.sun.com/products/hotspot/whitepaper.html#1
  • http://www.velocityreviews.com/forums/t130082-difference-between-client-server-classic-and-hotspot-jvms.html
  • http://www.onkarjoshi.com/blog/174/hotspot-jvm-client-server-vm-optimization/
  • http://stackoverflow.com/questions/198577/real-differences-between-java-server-and-java-client

參考:來自Spyro's Log博客的 JCG合作伙伴 Spyros Doulgeridis的-client和-server JVM命令行選項(xiàng)之間的差異 。

相關(guān)文章 :
  • Java中的低GC:使用原語(yǔ)而不是包裝器
  • Java泛型快速教程
  • JVM如何處理鎖
  • 使用迭代器時(shí)如何避免ConcurrentModificationException

翻譯自: https://www.javacodegeeks.com/2011/07/jvm-options-client-vs-server.html

jvm 參數(shù)-server

總結(jié)

以上是生活随笔為你收集整理的jvm 参数-server_JVM选项:-client vs -server的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。