Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 18821|Atsakyti: 5

[Šaltinis] Skirtumas tarp serverio ir kliento Java virtualios mašinos JVM

[Kopijuoti nuorodą]
Paskelbta 2017-07-24 11:10:31 | | |
santrauka apie dvi Java VM: Server & Client


--------------------------------------------------------------------nuo savęs-----------------------------------------------------------------------
Šiuo metu tik 64 bitų palaiko serverio režimą
Serverio VM paleidžiamos maždaug 10% lėčiau nei klientų VM.Veikia bent 10 kartų greičiau nei kliento VM
Kadangi serverio procesorius, atmintis ir standusis diskas yra galingesni nei kliento įrenginys, įdiegus programą, ją reikia paleisti serverio režimu, kad būtų pasiektas geresnis našumas.
JVM numatytasis 1M kliento režimu ir 64M -Xmx. JVM numatytasis 128M serverio režimu ir 1024M -Xmx.
server:启动慢,编译更完全,编译器是自适应编译器,效率高,针对服务端应用优化,在服务器环境中最大化程序执行速度而设计。
client:快速启动,内存占用少,编译快,针对桌面应用程序优化,为在客户端环境中减少启动时间而优化;
Apie GC:
Clien režimu naujoji karta pasirenka serijinį GC, o senoji - serijinį GC
Serverio režimu naujoji karta pasirenka lygiagretų GC, o senoji - lygiagrečią GC
Paprastai tariant, yra du būdai, kaip pasirinkti mūsų sistemos programą: pralaidumo prioritetas ir pauzės laiko prioritetas, pralaidumo prioritetui naudojamas numatytasis lygiagretus serverio GC režimas, o pauzės laiko prioritetui pasirenkamas lygiagretus GC (TVS) režimas.


--------------------------------------------------------------------iš naršyklės-------------------------------------------------------------------------
JDK turi dviejų tipų VM, VM klientus, VM serverio programas. Abu sprendimai turi bendrą "Java" vykdymo laiko viešosios interneto prieigos taško kodų bazę, tačiau naudoja skirtingus kompiliatorius, kad būtų užtikrintos unikalios kliento ir serverio našumo charakteristikos, ir šie skirtumai apima įdėtųjų strategijų ir krūvos numatytųjų nustatymų rašymą.

Nors serveriai ir klientų VM yra panašūs, serverių VM buvo specialiai pritaikytos maksimaliam didžiausiam veikimo greičiui. Jis skirtas vykdyti ilgai veikiančias serverio programas, kurioms reikalingas didžiausias veikimo greitis, viršijantis greitą paleidimo laiką arba mažą vykdymo atminties plotą.

Kliento VM kompiliatorius yra kompiliatorius, kurį naudoja klasikinės virtualios mašinos ir realaus laiko atnaujinimai (JIT) per ankstesnes JDK versijas. Kliento virtualiosios mašinos užtikrina geresnį programų ir programėlių paleidimo našumą. "Java Virtual Machines" viešosios interneto prieigos taškų klientai buvo specialiai pritaikyti, kad sumažintų programos paleidimo laiką ir atminties pėdsaką, kad jie būtų ypač tinkami klientų aplinkai. Apskritai kliento sistema turi geresnę grafinę vartotojo sąsają.

Taigi tikrasis skirtumas taip pat yra kompiliatoriaus lygmenyje:

Kliento virtualios mašinos kompiliatorius nebando atlikti sudėtingesnių optimizacijų, kurias kompiliatorius atlieka serverio virtualioje mašinoje, tačiau mainų metu kodo dalies analizė ir kompiliavimas užtrunka mažiau laiko. Tai reiškia, kad kliento virtualios mašinos gali paleisti greičiau ir reikalauja mažesnio atminties ploto.

Serverio virtualioje mašinoje yra pažangus adaptyvus kompiliatorius, palaikantis daugybę to paties tipo C++ kompiliatoriaus optimizavimo, taip pat kai kuriuos optimizavimus, kurių negalima atlikti naudojant tradicinius kompiliatorius, pvz., agresyvius virtualių metodų iškvietimus. Tai konkurencinis ir našumo pranašumas, statinis kompiliatorius. Adaptyvaus optimizavimo metodai yra labai lankstūs ir dažnai pranoksta net pažangius statinės analizės ir kompiliavimo metodus.

Kai paleidžiamas -Server režimas, greitis yra lėtas, tačiau kai jis veikia, našumas labai pagerės, nes: kai virtuali mašina veikia -Client režimu, ji naudoja lengvą kompiliatorių kodiniu pavadinimu C1, o virtuali mašina, paleista -Server režimu, naudoja kompiliatorių kodiniu pavadinimu C2, kuris yra gana kruopščiai kompiliuotas nei C1 kompiliatorius, o našumas yra didesnis po aptarnavimo.

Paprastai, kol pakeisite dviejų konfigūracijų -server KNOWN ir -client KNOWN tvarką,Prielaida yra ta, kad tiek serverio, tiek kliento aplankai egzistuoja JAVA_HOME kataloge /jre/binatitinkančias jų atitinkamas JVM




Ankstesnis:Nepavyko rezervuoti pakankamai vietos 2097152 KB objektų krūvai
Kitą:VS2012 Klaidos sprendimas diegiant "AutoMapper" "Nuget"
 Savininkas| Paskelbta 2017-08-14 16:52:24 |
JAVA klaida įvyko inicijuojant VM klaidą
http://www.itsvse.com/thread-3972-1-1.html
(Šaltinis: Architektas)
Paskelbta 2017-10-21 15:34:08 |
Naudota tik VMware
Paskelbta 2017-12-17 08:58:20 |
Noriu 10 taškų
Paskelbta 2017-12-21 10:09:50 |
Skirtumas tarp serverio ir kliento Java virtualios mašinos JVM
Paskelbta 2018-03-08 20:37:43 |
Noriu 10 mln.
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com