Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 18821|Отговор: 5

[Източник] Разликата между сървър и клиент на виртуалната машина JVM на Java

[Копирай линк]
Публикувано в 24.07.2017 г. 11:10:31 ч. | | |
резюме за двете виртуални машини на Java: Server и Client


--------------------------------------------------------------------от себе си-----------------------------------------------------------------------
В момента само 64-битов режим поддържа сървърен режим
Сървърните виртуални машини стартират около 10% по-бавно от клиентските виртуални машини.Работи поне 10 пъти по-бързо от Client VM
Тъй като процесорът, паметта и твърдият диск на сървъра са по-мощни от клиентската машина, след като програмата бъде внедрена, тя трябва да се стартира в сървърен режим, за да се постигне по-добра производителност.
JVM по подразбиране е 1M в клиентски режим и 64M за -Xmx. JVM по подразбиране е 128M в сървърен режим и 1024M за -Xmx.
server:启动慢,编译更完全,编译器是自适应编译器,效率高,针对服务端应用优化,在服务器环境中最大化程序执行速度而设计。
client:快速启动,内存占用少,编译快,针对桌面应用程序优化,为在客户端环境中减少启动时间而优化;
За GC:
В клиен режима новото поколение избира сериен GC, а старото поколение избира сериен GC
В сървърен режим новото поколение избира паралелно рециклиращо GC, а старото поколение избира паралелно GC
Общо взето, има два начина да изберем нашето системно приложение: приоритет на пропускателната способност и приоритет на времето за пауза, като стандартният паралелен GC режим на сървъра се използва за приоритет на пропускателната способност, а режимът на конкурентен GC (CMS) се избира за приоритет на времето за пауза.


--------------------------------------------------------------------от браузъра-------------------------------------------------------------------------
JDK има два типа виртуални машини: VM клиенти и VM сървърни приложения. Двете решения споделят кодовата база за хотспот на Java runtime, но използват различни компилатори за уникални характеристики както за клиента, така и за сървъра, като тези разлики включват писане на inline политики и heap стандартни настройки.

Въпреки че сървърите и клиентските виртуални машини са сходни, сървърните виртуални машини са специално настроени за максимални пикови работни скорости. Той е предназначен да изпълнява дългосрочни сървърни приложения, които изискват най-бърза скорост на работа, надхвърляща бързо стартиране или малък отпечатък от паметта по време на изпълнение.

Компилаторът на клиентските виртуални машини е компилатор, използван от класически виртуални машини и актуализации в реално време (JIT) чрез предишни версии на JDK. Клиентските виртуални машини осигуряват подобрена производителност при изпълнение на приложения и аплети. Клиентите на Java виртуалните машини в hotspot са специално адаптирани, за да намалят времето за стартиране на приложения и обхвата на паметта, за да станат особено подходящи за клиентски среди. Общо взето, клиентската система има по-добър графичен потребителски интерфейс.

Така че истинската разлика е и на ниво компилатора:

Клиентският компилатор на виртуалната машина не се опитва да извършва по-сложни оптимизации, извършвани от компилатора на сървърната виртуална машина, но по време на обмена отнема по-малко време за анализ и компилиране на дадено парче код. Това означава, че клиентските виртуални машини могат да стартират по-бързо и изискват по-малък капацитет от памет.

Сървърната виртуална машина съдържа усъвършенстван адаптивен компилатор, който поддържа много оптимизации на C++ компилатори за оптимизация, от същия тип, както и някои оптимизации, които не могат да се изпълнят с традиционни компилатори, като агресивни inline in virtual method calls. Това е конкурентно и конкурентно предимство, статичен компилатор. Техниките за адаптивна оптимизация са много гъвкави в подхода си и често превъзхождат дори напреднали техники за статичен анализ и компилация.

Когато стартира режимът -Server, скоростта е бавна, но след като започне, производителността се подобрява значително, защото: когато виртуалната машина е в -Client режим, тя използва лек компилатор с кодово име C1, а виртуалната машина, стартирана в -Server режим, използва компилатор с кодово име C2, който е сравнително добре компилиран от C1 компилатора, а производителността е по-висока след обслужване.

Обикновено, стига да промените реда на двете конфигурации на -server KNOWN и -client KNOWN,Предпоставката е, че както сървърната, така и клиентската папка съществуват в директорията /jre/bin на JAVA_HOMEсъответстващи на съответните им JVM




Предишен:Не можех да резервирам достатъчно място за купчина обекти от 2097152KB
Следващ:VS2012 Решение на грешката при инсталиране на AutoMapper в Nuget
 Хазяин| Публикувано в 14.08.2017 г. 16:52:24 ч. |
JAVA грешка възникна по време на инициализацията на VM грешка
http://www.itsvse.com/thread-3972-1-1.html
(Източник: Архитект)
Публикувано в 21.10.2017 г. 15:34:08 ч. |
Само използван VMware
Публикувано в 17.12.2017 г. 8:58:20 ч. |
Искам 10 точки
Публикувано в 21.12.2017 г. 10:09:50 ч. |
Разликата между сървър и клиент на виртуалната машина JVM на Java
Публикувано в 8.03.2018 г. 20:37:43 ч. |
Искам 10М
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com