Віртуальна машина Java (JVM) — це середовище, яке виконує програми Java. Програми Java компілюються на проміжну мову, яка називається байт-кодом, який виконує JVM. Будь-яку програму, скомпільовану в байт-код, можна виконати на будь-якій платформі, на якій встановлено JVM. Це робить програмне забезпечення Java сумісним з багатьма різними обчислювальними платформами. JVM має кілька помітних переваг і недоліків, які будь-який розробник повинен ретельно зважити, перш ніж інвестувати в розробку Java.
Незалежність від платформи
Байт-код Java можна записати один раз, а потім запустити на кількох платформах. Байт-код Java не потрібно портувати до певного апаратного середовища, оскільки він працює у віртуальній машині Java. Будь-яку програму, скомпільовану в байт-код Java, можна запускати на будь-якій обчислювальній платформі, яка має віртуальну машину Java.
Відео дня
Безпека
Java була написана з урахуванням безпеки. Віртуальна машина Java має вбудовані функції безпеки, які дозволяють програмістам писати дуже безпечні програми Java. Це також запобігає зловживанню зловмисним програмним забезпеченням операційної системи (ОС), оскільки не дозволяє додаткам Java взаємодіяти з ресурсами операційної системи.
Продуктивність
Програми Java, які працюють на віртуальній машині Java, як правило, працюють повільніше, ніж еквівалентні програми, написані на C++. Системна нейтральність байт-коду є недоліком, що стосується продуктивності. Це пояснюється тим, що оптимізація коду значною мірою залежить від системних функцій. Оскільки байт-код Java є системно-нейтральним, його неможливо оптимізувати для певного набору обладнання.
Коректність
Програма, яка працює, як і очікувалося, вважається правильною. Оскільки програма Java використовує віртуальну машину Java для її виконання, JVM повинна бути без помилок, щоб програма працювала правильно. Ця залежність від віртуальної машини Java створює можливу точку збою для програми. На щастя, програмне забезпечення віртуальної машини Java розроблено за дуже високими стандартами, і тому навряд чи воно буде поставлятися з будь-якими помилками. Незважаючи на це, збій у віртуальній машині Java є можливістю, яку слід розглянути.