Содержание | Предыдущий | Следующий | Индекс


Спецификация Виртуальной машины JavaTM

Второй Выпуск

Тим Линдхольм
Франк Еллин




Предисловие

1 Введение
1.1 Немного Истории
1.2 Виртуальная машина Java
1.3 Сводка Глав
1.4 Нотация

2 Понятия Языка программирования Java
2.1 Unicode
2.2 Идентификаторы
2.3 Литералы
2.4 Типы и Значения
2.4.1 Типы примитивов и Значения
2.4.2 Операторы на Интегральных Значениях
2.4.3 Типы с плавающей точкой, Наборы значений, и Значения
2.4.4 Операторы на Значениях С плавающей точкой
2.4.5 Операторы на boolean Значения
2.4.6 Ссылочные типы, Объекты, и Ссылочные Значения
2.4.7 Класс Object
2.4.8 Класс String
2.4.9 Операторы на Объектах
2.5 Переменные
2.5.1 Начальные значения Переменных
2.5.2 У переменных Есть Типы, у Объектов Есть Классы
2.6 Преобразования и Продвижения
2.6.1 Преобразования идентификационных данных
2.6.2 Расширение Примитивных Преобразований
2.6.3 Сужение Примитивных Преобразований
2.6.4 Расширение Ссылочных Преобразований
2.6.5 Сужение Ссылочных Преобразований
2.6.6 Преобразование Набора значений
2.6.7 Преобразование присвоения
2.6.8 Преобразование Вызова метода
2.6.9 Кастинг Преобразования
2.6.10 Числовое Продвижение
2.7 Имена и Пакеты
2.7.1 Простые Имена и Полностью определенные имена
2.7.2 Пакеты
2.7.3 Элементы
2.7.4 Полностью определенные имена и Управление доступом
2.7.5 Полностью определенные Имена
2.8 Классы
2.8.1 Имена классов
2.8.2 Модификаторы класса
2.8.3 Суперклассы и Подклассы
2.8.4 Элементы Класса
2.9 Поля
2.9.1 Полевые Модификаторы
2.9.2 Инициализация Полей
2.10 Метода
2.10.1 Формальные параметры
2.10.2 Сигнатура метода
2.10.3 Модификаторы метода
2.11 Статических Инициализатора
2.12 Конструктора
2.12.1 Модификаторы конструктора
2.13 Интерфейса
2.13.1 Интерфейсные Модификаторы
2.13.2 Суперинтерфейсы
2.13.3 Интерфейсные Элементы
2.13.4 Переопределение, Наследование, и Перегрузка в Интерфейсах
2.14 Вложенных Класса и Интерфейсы
2.15 Массива
2.15.1 Типы массива
2.15.2 Переменные типа массив
2.15.3 Создание массива
2.15.4 Доступ массива
2.16 Исключения
2.16.1 Причины Исключений
2.16.2 Обработка Исключения
2.16.3 Иерархия Исключения
2.16.4 Исключение Классов и RuntimeException
2.17 Выполнения
2.17.1 Запуск Виртуальной машины
2.17.2 Загрузка
2.17.3 Соединение: Проверка, Подготовка, и Разрешение
2.17.4 Инициализация
2.17.5 Подробная Процедура Инициализации
2.17.6 Создание Новых Экземпляров Класса
2.17.7 Завершение Экземпляров Класса
2.17.8 Разгрузка Классов и Интерфейсов
2.17.9 Выход Виртуальной машины
2.18 строгих FP Выражения
2.19 Потока

3 Структура виртуальной машины Java
3.1 class Формат файла
3.2 Типы данных
3.3 Типы примитивов и Значения
3.3.1 Целочисленные типы и Значения
3.3.2 Типы с плавающей точкой, Наборы значений, и Значения
3.3.3 returnAddress Введите и Оценивает
3.3.4 boolean Ввести
3.4 Ссылочные типы и Значения
3.5 Области Данных времени выполнения
3.5.1 pc Регистр
3.5.2 Стеки Виртуальной машины Java
3.5.3 "Куча"
3.5.4 Область метода
3.5.5 Пул Константы этапа выполнения
3.5.6 Собственные Стеки Метода
3.6 Фреймы
3.6.1 Локальные переменные
3.6.2 Стеки операнда
3.6.3 Динамическое подключение
3.6.4 Нормальное Завершение Вызова метода
3.6.5 Резкое Завершение Вызова метода
3.6.6 Дополнительная информация
3.7 Представление Объектов
3.8 Арифметика с плавающей точкой
3.8.1 Виртуальная машина Java Арифметика С плавающей точкой и IEEE 754
3.8.2 Режимы с плавающей точкой
3.8.3 Преобразование Набора значений
3.9 Особенно Названные Методы Инициализации
3.10 Исключения
3.11 Сводки Набора команд
3.11.1 Типы и виртуальная машина Java
3.11.2 Загрузка и Инструкции Хранилища
3.11.3 Арифметические Инструкции
3.11.4 Инструкции Преобразования типов
3.11.5 Объектное Создание и Манипулирование
3.11.6 Инструкции управления Стеком операнда
3.11.7 Инструкции Передачи управления
3.11.8 Вызов метода и Инструкции Возврата
3.11.9 Выдача Исключений
3.11.10 Реализация наконец
3.11.11 Синхронизация
3.12 Библиотеки классов
3.13 Общедоступных Проекта, Частная Реализация

4 class Формат файла
4.1 ClassFile Структура
4.2 Внутренняя Форма Полностью определенного Класса и Интерфейсных Имен
4.3 Дескрипторы
4.3.1 Нотация грамматики
4.3.2 Полевые Дескрипторы
4.3.3 Дескрипторы метода
4.4 Постоянный Пул
4.4.1 CONSTANT_Class_info Структура
4.4.2 CONSTANT_Fieldref_info, CONSTANT_Methodref_info, и CONSTANT_InterfaceMethodref_info Структуры
4.4.3 CONSTANT_String_info Структура
4.4.4 CONSTANT_Integer_info и CONSTANT_Float_info Структуры
4.4.5 CONSTANT_Long_info и CONSTANT_Double_info Структуры
4.4.6 CONSTANT_NameAndType_info Структура
4.4.7 CONSTANT_Utf8_info Структура
4.5 Поля
4.6 Методы
4.7 Атрибуты
4.7.1 Определение и Именование Новых Атрибутов
4.7.2 ConstantValue Атрибут
4.7.3 Code Атрибут
4.7.4 Exceptions Атрибут
4.7.5 InnerClasses Атрибут
4.7.6 Synthetic Атрибут
4.7.7 SourceFile Атрибут
4.7.8 LineNumberTable Атрибут
4.7.9 LocalVariableTable Атрибут
4.7.10 Deprecated Атрибут
4.8 Ограничения на Код виртуальной машины Java
4.8.1 Статические Ограничения
4.8.2 Структурные ограничения
4.9 Проверка class Файлы
4.9.1 Процесс Проверки
4.9.2 Верификатор Байт-кода
4.9.3 Значения Типов long и double
4.9.4 Методы Инициализации экземпляра и Недавно Создаваемые Объекты
4.9.5 Обработчики исключений
4.9.6 Исключения и наконец
4.10 Ограничения виртуальной машины Java

5 Загрузок, Соединение, и Инициализация
5.1 Пул Константы этапа выполнения
5.2 Запуск Виртуальной машины
5.3 Создание и Загрузка
5.3.1 Загрузка Используя Загрузчик Класса Начальной загрузки
5.3.2 Загрузка Используя Определяемый пользователем Загрузчик Класса
5.3.3 Создание Классов Массива
5.3.4 Загрузка Ограничений
5.3.5 Получение Класса от a class Представление файла
5.4 Соединение
5.4.1 Проверка
5.4.2 Подготовка
5.4.3 Разрешение
5.4.4 Управление доступом
5.5 Инициализация
5.6 Привязка Собственных Реализаций Метода

6 Набор команд виртуальной машины Java
6.1 Предположения: Значение "Must"
6.2 Зарезервированные Коды операций
6.3 Ошибки Виртуальной машины
6.4 Формат Описаний Инструкции

7 Компиляции для виртуальной машины Java
7.1 Формат Примеров
7.2 Использование Констант, Локальных переменных, и Конструкций Управления
7.3 Арифметика
7.4 Доступ к Пулу Константы этапа выполнения
7.5 Больше Примеров Управления
7.6 Получение Параметров
7.7 Вызов Методов
7.8 Работа с Экземплярами Класса
7.9 Массивы
7.10 Переключателей Компиляции
7.11 Операций на Стеке Операнда
7.12 Бросков и Обработка Исключений
7.13 Компиляции finally
7.14 Синхронизаций
7.15 Компиляции Вложенные Классы и Интерфейсы

8 Потоков и Блокировки
8.1 Терминология и Платформа
8.2 Порядок выполнения и Непротиворечивость
8.3 Правила О Переменных
8.4 Неатомарная Обработка double и long Переменные
8.5 Правила О Блокировках
8.6 Правила О Взаимодействии Блокировок и Переменных
8.7 Правила для volatile Переменные
8.8 Наделенные даром предвидения Операции Хранилища
8.9 Обсуждение
8.10 Примеров: Возможная Подкачка
8.11 Примеров: не в порядке Записи
8.12 Потоков
8.13 Блокировок и Синхронизация
8.14 Ожидают Наборы и Уведомление

9 Мнемоники Кода операции Кодом операции

Приложение: Сводка Разъяснений и Поправки

Индекс

Содержание | Предыдущий | Следующий | Индекс

Спецификация Виртуальной машины JavaTM
Авторское право © Sun Microsystems, Inc 1999 года. Все права защищены
Пожалуйста, отправьте любые комментарии или исправления к jvm@java.sun.com



Spec-Zone.ru - all specs in one place



free hit counter