Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 18821|Ответ: 5

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

[Скопировать ссылку]
Опубликовано 24.07.2017 11:10:31 | | |
Краткое содержание двух виртуальных машин Java: сервер и клиент


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


--------------------------------------------------------------------из браузера-------------------------------------------------------------------------
JDK имеет два типа виртуальных машин: клиенты виртуальной машины и серверные приложения. Оба решения используют общий код горячей точки Java-runtime, но используют разные компиляторы для уникальных характеристик производительности как для клиента, так и для сервера, а эти различия включают написание встроенных политик и стандартные настройки кучи.

Хотя серверы и клиентские виртуальные машины схожи, серверные виртуальные машины специально настроены для максимальных пиковых скоростей работы. Он предназначен для запуска долгосрочных серверных приложений, требующих максимальной скорости, превышающей быстрое запусковое время или небольшой объем памяти во время выполнения.

Компилятор VM Client — это компилятор, используемый классическими виртуальными машинами и обновлениями в реальном времени (JIT) через предыдущие версии JDK. Клиентские виртуальные машины обеспечивают повышенную производительность для запуска приложений и апплетов. Клиенты Java Virtual Machines в горячих точках были специально адаптированы для сокращения времени запуска приложений и использования памяти, чтобы сделать их особенно подходящими для клиентских сред. В целом, клиентская система обладает лучшим графическим интерфейсом.

Так что настоящая разница также на уровне компилятора:

Клиентский компилятор виртуальной машины не пытается выполнять более сложные оптимизации, выполняемые компилятором на серверной виртуальной машине, но во время обмена процессом анализа и компиляция кода занимает меньше времени. Это означает, что клиентские виртуальные машины могут запускаться быстрее и требуют меньшего объема памяти.

Серверная виртуальная машина содержит продвинутый адаптивный компилятор, поддерживающий множество оптимизаций компиляторов C++ для оптимизации того же типа, а также некоторые оптимизации, которые нельзя реализовать с традиционными компиляторами, например, агрессивные встроенные вызовы виртуальных методов. Это конкурентное и производительное преимущество, статический компилятор. Методы адаптивной оптимизации очень гибки в подходе и часто превосходят даже продвинутые методы статического анализа и компиляции.

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

В целом, если изменить порядок двух конфигураций -server KNOWN и -client KNOWN,Суть в том, что в каталоге /jre/bin JAVA_HOME существуют и серверная, и клиентская папкисоответствующие их JVM




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

Mail To:help@itsvse.com