yhteenveto Javan kahdesta virtuaalikoneesta: palvelin ja asiakasohjelma
--------------------------------------------------------------------itseltäni----------------------------------------------------------------------- Tällä hetkellä vain 64-bittinen tukee palvelintilaa
Palvelinvirtuaalikoneet käynnistyvät noin 10 % hitaammin kuin asiakas-virtuaalikoneenit.Toimii vähintään 10 kertaa nopeammin kuin asiakas-virtuaalikoneen; Koska palvelimen suoritin, muisti ja kiintolevy ovat tehokkaampia kuin asiakaskoneen, ohjelman käyttöönoton jälkeen se tulisi käynnistää palvelintilassa paremman suorituskyvyn saavuttamiseksi. JVM oletuksena on 1M asiakastilassa ja 64M -Xmx:ssä. JVM oletuksena on 128M palvelintilassa ja 1024M -Xmx:ssä.
server:启动慢,编译更完全,编译器是自适应编译器,效率高,针对服务端应用优化,在服务器环境中最大化程序执行速度而设计。
client:快速启动,内存占用少,编译快,针对桌面应用程序优化,为在客户端环境中减少启动时间而优化; Tietoa GC:stä: Clien-tilassa uusi sukupolvi valitsee sarjallisen GC:n ja vanha sukupolvi sarjallisen GC:n Palvelintilassa uusi sukupolvi valitsee rinnakkaiskierrätyksen GC:n ja vanha sukupolvi rinnakkaisen GC:n Yleisesti ottaen järjestelmäsovelluksemme voi valita kahdella tavalla: läpäisyprioriteetti ja taukoaikaprioriteetti, palvelimen oletus rinnakkainen GC-tila toimii läpimenon prioriteettina, ja samanaikainen GC (CMS) -tila valitaan taukoajan prioriteetille.
--------------------------------------------------------------------selaimesta------------------------------------------------------------------------- JDK:lla on kahta tyyppiä virtuaalikoneita: VM-asiakkaat ja VM-palvelinsovellukset. Nämä kaksi ratkaisua jakavat Java-ajonaikaisen hotspot-koodipohjan, mutta käyttävät eri kääntäjiä ainutlaatuisten suorituskykyominaisuuksien saavuttamiseksi sekä asiakkaalle että palvelimelle, ja näihin eroihin kuuluvat inline-politiikkojen ja hep-oletusten kirjoittaminen.
Vaikka palvelimet ja asiakasvirtuaalikoneet ovat samankaltaisia, palvelin-virtuaalikkeet on erityisesti säädetty maksimaalisiin huippunopeuksiin. Sen tarkoituksena on suorittaa pitkään toimivia palvelinsovelluksia, jotka vaativat nopeinta ajonopeutta nopean käynnistysajan tai pienen ajonaikaisen muistin jälkeen.
Customer VM Compiler on kääntäjä, jota käyttävät klassiset virtuaalikoneet ja reaaliaikaiset päivitykset (JIT) aiemmista JDK-versioista. Asiakasvirtuaalikoneet tarjoavat parannettua suorituskykyä sovellusten ja applettien ajamiseen. Java Virtual Machinesin hotspot-asiakkaat on erityisesti mukautettu vähentämään sovellusten käynnistysaikaa ja muistin määrää, jotta ne sopivat erityisen hyvin asiakasympäristöihin. Yleisesti ottaen asiakasjärjestelmässä on parempi graafinen käyttöliittymä.
Todellinen ero on siis myös kääntäjätasolla:
Asiakasvirtuaalikoneen kääntäjä ei yritä suorittaa monimutkaisempia optimointeja, joita kääntäjä suorittaa palvelinvirtuaalikoneella, mutta vaihdon aikana koodin analysointi ja kääntäminen vie vähemmän aikaa. Tämä tarkoittaa, että asiakasvirtuaalikoneet voivat käynnistyä nopeammin ja vaativat pienemmän muistijäljen.
Palvelinvirtuaalikone sisältää kehittyneen adaptiivisen kääntäjän, joka tukee monia C++-kääntäjäoptimointeja samantyyppisiin optimointiin sekä joitakin optimointeja, joita perinteisillä kääntäjillä ei voi tehdä, kuten aggressiivisia inline-algoritmeja virtuaalisissa metodikutsuissa. Se on kilpailu- ja suorituskykyetu, staattinen kääntäjä. Adaptiiviset optimointitekniikat ovat erittäin joustavia lähestymistavaltaan ja usein päihittävät jopa edistyneet staattisen analyysin ja käännöstekniikat.
Kun -Server-tila käynnistyy, nopeus on hidas, mutta kun se käynnistyy, suorituskyky paranee huomattavasti, koska: kun virtuaalikone on -Client-tilassa, se käyttää kevyttä kääntäjää nimeltä C1, ja virtuaalikone käynnistetty -Server-tilassa käyttää kääntäjää nimeltä C2, joka on suhteellisen perusteellisesti käännetty kuin C1-kääntäjä, ja suorituskyky on parempi palvelun jälkeen.
Yleisesti ottaen, kunhan muutat -server KNOWN ja -client KNOWN -konfiguraatioiden järjestystä,Ajatus on, että sekä palvelin- että asiakaskansiot löytyvät /jre/bin-kansiosta JAVA_HOMEvastaavat omia JVM-yksiköitään
|