Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
java1_2013_2014 / java24.pptx
Скачиваний:
133
Добавлен:
16.04.2015
Размер:
223.47 Кб
Скачать

JAVA-ТЕХНОЛОГИЯ

Сафонов Владимир Олегович

Профессор кафедры информатики, руководитель лаборатории Java- технологии (http://polyhimnie.math.spbu.ru/jtl)

Email: vosafonov@gmail.com

Лекция 24

Виртуальная машина Java (JVM). Класс-файлы. HotSpot

Виртуальная машина

Программная система, позволяющая без изменения запускать код для одной программно-аппаратной платформы на другой несовместимой программно- аппаратной платформе

Примеры: VMWare, VirtualBox, Microsoft Virtual PC

(С)Сафонов В.О. 2013

Достоинства

Переносимость.

Возможность проверки безопасности кода перед загрузкой.

Упрощенная отладка.

Возможность динамической оптимизации кода.

(С) Сафонов В.О. 2013

Недостатки

Виртуальной машине требуются дополнительные ресурсы.

Сложность доступа к низкоуровневым особенностям платформы.

(С) Сафонов В.О. 2013

Виртуальная машина Java

(С) Сафонов В.О. 2013

Архитектура Java VM

Типы данных.

Регистры.

Куча.

Пул констант.

Фрейм.

Локальные переменные.

Стеки.

Инструкции.

(С)Сафонов В.О. 2013

Типы данных

Примитивные типы: поддержка типов byte, short, int, long, char, float, double.

Поддержка вещественных типов с расширенной плавающей

точкой (не меньше 11 бит для float и не меньше 15 бит для double).

Специальный тип returnAddress (при реализации finally- блоков).

Тип boolean представлен как int, массив boolean – как массив byte.

Ссылочные типы: занимают 4 байта, поддержка типов class, interface, array.

Имеется специальное значение ссылочных типов – null.

(С)Сафонов В.О. 2013

Регистр PC (счетчик

команд)

Имеет свое значение для каждого потока (thread)

Указывает на текущую выполняемую виртуальную команду

(С) Сафонов В.О. 2013

Куча

Создается при запуске JVM.

Размер может быть статическим или динамическим (OutOfMemoryError).

Память из кучи выделяется под экземпляры классов.

Для очистки памяти используется сборщик мусора.

(С)Сафонов В.О. 2013

Область методов (1/2)

Является частью кучи.

Предназначена для хранения данных классов и интерфейсов.

Сборки мусора не происходит.

(С) Сафонов В.О. 2013

Соседние файлы в папке java1_2013_2014