Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 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, а старе покоління — serial GC
У серверному режимі нове покоління обирає паралельну переробку GC, а старе покоління — паралельне GC
Загалом, існує два способи вибору системного додатку: пріоритет пропускної здатності та пріоритет часу паузи, стандартний режим паралельного GC сервера використовується для пріоритету пропускної здатності, а режим паралельного GC (CMS) — для пріоритету паузи.


--------------------------------------------------------------------з браузера-------------------------------------------------------------------------
JDK має два типи віртуальних машин: клієнти VM та серверні додатки. Обидва рішення мають спільну кодову базу хотспоту в Java-середовищі виконання, але використовують різні компілятори для унікальних характеристик продуктивності як для клієнта, так і для сервера, і ці відмінності включають написання вбудованих політик і стандартних налаштувань купи.

Хоча сервери та клієнтські віртуальні машини схожі, серверні віртуальні машини спеціально налаштовані для максимальної пікової робочої швидкості. Він призначений для виконання довготривалих серверних додатків, які потребують найшвидшої швидкості запуску, що перевищує швидкий запуск або невеликий обсяг пам'яті під час виконання.

Компілятор VM Customer — це компілятор, який використовується класичними віртуальними машинами та оновленнями в реальному часі (JIT) у попередніх версіях JDK. Клієнтські віртуальні машини забезпечують покращену продуктивність для запуску додатків і аплетів. Клієнти Java Virtual Machines у гарячих точках були спеціально налаштовані для скорочення часу запуску додатків і обсягу пам'яті, щоб зробити їх особливо придатними для клієнтських середовищ. Загалом, клієнтська система має кращий графічний інтерфейс.

Отже, справжня різниця також на рівні компілятора:

Клієнтський компілятор віртуальної машини не намагається виконувати складніші оптимізації, які виконує компілятор на серверній віртуальній машині, але під час обміну аналіз і компіляція коду займає менше часу. Це означає, що клієнтські віртуальні машини можуть запускатися швидше і потребують меншого обсягу пам'яті.

Серверна віртуальна машина містить просунутий адаптивний компілятор, який підтримує багато оптимізацій компіляторів C++ для оптимізації того ж типу, а також деякі оптимізації, які неможливо реалізувати традиційними компіляторами, наприклад, агресивні вбудовані у віртуальних викликах методів. Це конкурентна та продуктивна перевага, статичний компілятор. Техніки адаптивної оптимізації дуже гнучкі у своєму підході і часто перевершують навіть просунуті методи статичного аналізу та компіляції.

Коли запускається режим -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 виникла під час ініціалізації помилки віртуальної машини
http://www.itsvse.com/thread-3972-1-1.html
(Джерело: Architect)
Опубліковано 21.10.2017 15:34:08 |
Тільки вживаний VMware
Опубліковано 17.12.2017 08:58:20 |
Я хочу 10 балів
Опубліковано 21.12.2017 10:09:50 |
Різниця між сервером і клієнтом віртуальної машини JVM Java
Опубліковано 08.03.2018 20:37:43 |
Я хочу 10М
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com