Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 18821|Odpowiedź: 5

[Źródło] Różnica między serwerem a klientem maszyny wirtualnej Javy JVM

[Skopiuj link]
Opublikowano 24.07.2017 11:10:31 | | |
Podsumowanie dwóch maszyn wirtualnych Javy: Server i Client


--------------------------------------------------------------------od siebie-----------------------------------------------------------------------
Obecnie tylko 64-bitowy obsługuje tryb serwerowy
Maszyny wirtualne serwera uruchamiają się około 10% wolniej niż maszyny klienckie.Działa co najmniej 10 razy szybciej niż Client VM
Ponieważ CPU, pamięć i dysk twardy serwera są wydajniejsze niż komputer kliencki, po wdrożeniu programu powinien być uruchamiany w trybie serwerowym, aby uzyskać lepszą wydajność.
JVM domyślnie ustawia 1M w trybie klienta i 64M dla -Xmx. JVM domyślnie ustawia 128M w trybie serwera i 1024M w -Xmx.
server:启动慢,编译更完全,编译器是自适应编译器,效率高,针对服务端应用优化,在服务器环境中最大化程序执行速度而设计。
client:快速启动,内存占用少,编译快,针对桌面应用程序优化,为在客户端环境中减少启动时间而优化;
O GC:
W trybie clien nowa generacja wybiera GC szeregowy, a starsza generacja GC
W trybie serwera nowa generacja wybiera równoległy recykling GC, a stara generacja równoległą GC
Ogólnie rzecz biorąc, istnieją dwa sposoby wyboru aplikacji systemowej: priorytet przepustowości i priorytet czasu pauzy, domyślny tryb równoległego GC serwera służy do priorytetu przepustowości, a tryb współbieżny GC (CMS) jest wybierany dla priorytetu czasu pauzy.


--------------------------------------------------------------------z przeglądarki-------------------------------------------------------------------------
JDK ma dwa typy maszyn wirtualnych: klientów VM oraz aplikacje serwerowe VM. Oba rozwiązania dzielą kodowy hotspot z czasem uruchomienia Java, ale używają różnych kompilatorów dla unikalnych cech wydajnościowych zarówno klienta, jak i serwera, a różnice te obejmują pisanie polityk inline i domyślne ustawienia sterty.

Chociaż serwery i maszyny wirtualne klienckie są podobne, maszyny serwerowe zostały specjalnie dostosowane do maksymalnej prędkości pracy w szczytowych momentach. Ma on na celu uruchamianie długo działających aplikacji serwerowych, które wymagają najszybszej prędkości działania poza szybkim czasem uruchamiania lub niewielkim obciążeniem pamięci w czasie działania.

Customer VM Compiler to kompilator używany przez klasyczne maszyny wirtualne oraz aktualizacje w czasie rzeczywistym (JIT) w poprzednich wersjach JDK. Wirtualne maszyny klienckie zapewniają lepszą wydajność dla uruchamiania aplikacji i apletów. Klienci hotspotów maszyn wirtualnych Java zostali specjalnie dostosowani, aby zmniejszyć czas uruchamiania aplikacji i zużycie pamięci, czyniąc je szczególnie odpowiednimi dla środowisk klientów. Ogólnie rzecz biorąc, system kliencki ma lepszy graficzny interfejs użytkownika.

Prawdziwa różnica dotyczy także poziomu kompilatora:

Kompilator wirtualnej maszyny klienckiej nie podejmuje bardziej złożonych optymalizacji wykonywanych przez kompilator na maszynie wirtualnej serwera, ale podczas wymiany zajmuje mniej czasu na analizę i skompilowanie fragmentu kodu. Oznacza to, że wirtualne maszyny klienckie mogą uruchamiać się szybciej i wymagają mniejszej ilości pamięci.

Wirtualna maszyna serwera zawiera zaawansowany adaptacyjny kompilator wspierający wiele optymalizacji kompilatorów C++ tego samego typu, a także niektóre optymalizacje, których nie da się wykonać tradycyjnymi kompilatorami, takie jak agresywne wywołania metod inline in virtual method. To statyczny kompilator z przewagą konkurencyjną i wydajnościową. Techniki optymalizacji adaptacyjnej są bardzo elastyczne w swoim podejściu i często przewyższają nawet zaawansowane techniki analizy statycznej i kompilacji.

Gdy uruchamia się tryb -Server, prędkość jest wolna, ale po uruchomieniu wydajność znacznie się poprawia, ponieważ: gdy maszyna wirtualna jest w trybie -Client, używa lekkiego kompilatora o nazwie kodowej C1, a maszyna wirtualna uruchamiana w trybie -Server korzysta z kompilatora o nazwie kodowej C2, który jest stosunkowo dokładnie skompilowany niż kompilator C1, a wydajność jest wyższa po serwisie.

Generalnie, jeśli zmienisz kolejność dwóch konfiguracji -server KNOWN i -client KNOWN,Założenie jest takie, że zarówno foldery serwera, jak i klienta istnieją w katalogu /jre/bin JAVA_HOMEodpowiadające ich odpowiednim JVM




Poprzedni:Nie udało się zarezerwować wystarczająco miejsca na 2097152KB ster obiektów
Następny:VS2012 Rozwiązanie błędu podczas instalacji AutoMapper w Nuget
 Ziemianin| Opublikowano 14.08.2017 16:52:24 |
Błąd JAVA wystąpił podczas inicjalizacji błędu maszyny wirtualnej
http://www.itsvse.com/thread-3972-1-1.html
(Źródło: Architect)
Opublikowano 21.10.2017 15:34:08 |
Używałem tylko VMware
Opublikowano 17.12.2017 08:58:20 |
Chcę 10 punktów
Opublikowano 21.12.2017 10:09:50 |
Różnica między serwerem a klientem maszyny wirtualnej Javy JVM
Opublikowano 08.03.2018 20:37:43 |
Chcę 10M
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com