Виртуальная машина java (jvm)
В отличии от других языков высокого уровня исходный код на языке JAVA компилируется не в объектный код, а сразу в машинные команды. Однако это команды не конкретной машины, а команды так называемой виртуальной машины JAVA - JVM (Java Virtual Machine). Команды JVM короткие, как правило в 1 байт, поэтому команды JVM называются байт-кодом. Таких команд 226. Упрощенно JVM можно представить в виде:
Гость | Прикладной процесс |
|
Среда исполнения | ПО виртуализации |
JVM
|
Хост | ОС | |
Оборудование |
Процесс выполняющийся на JVM – гость. Базовая платформа поддерживающая JVM-хост. Среда исполнения – эмулирует команды пользовательской программы.
Эмулировать двоичный код с системой команд отличных от системы хоста непростая задача.
Проще эмулировать эти команды путем интерпретации. Так в Java программа-интерпретатор выбирает из памяти одну за другой команды пользовательской программы и выполняет их.
Этот процесс может быть долгим. Для его ускорения применяются различные приемы и оптимизация.
Интерпретаторы постоянно совершенствуются для достижения высокой скорости исполнения байт-кода. Разработаны JIT(just in time)-компиляторы запоминающие уже интерпретированные участки в машинных командах процессора и выполняющие их при повторном обращении.
Кроме программного обеспечения JVM и JIT фирма Sun и другие компании разработали специальные микросхемы JVM-процессоры.
Эти процессоры выполняют программы JVM без компиляции и интерпретации. Они имеют патент фирмы Sun и разработаны в рамках проекта PICO-Java. Микросхемы на основе PICO-Java встраиваются в пластиковые карты, мобильные телефоны, телевизоры и т.д.
- Оглавление
- Java-технологии распределенных компьютерных систем
- Инструментальные средства java для создания распределенных систем
- Первая java-программа
- Интерфейсы
- Наследование
- Import имя_пакета.*;
- Ссылки this и super
- Исключения
- Массивы
- Виртуальная машина java (jvm)
- Распределенные компьютерные системы и их характеристики
- Промежуточное программное обеспечение распределенных компьютерных систем
- Архитектура java rmi
- Достоинства и недостатки java-rmi
- Технология corba
- Достоинства и недостатки corba
- Структура распределенного j2ee java-приложения
- Hello World распределенное j2ee java-приложение Средства разработки
- Структура
- Код локального интерфейса
- Html. Основные теги html.
- Основные теги html
- Формы html-документов
- Cgi. Java web-сервер
- Сервлет-технология java
- Компоненты ejb
- Страницы jsp
- Теги и встроенные объекты jsp
- Основные теги jsp-страниц.
- Архитектуры распределенных приложений. Web-сервисы
- Jms. Архитектура jms