![]() |
Spec-Zone .ru
спецификации, руководства, описания, API
|
Спецификация языка Java, Третий Выпуск |
Содержание | Предыдущий | Следующий | Индекс |
Предисловие к Третьему Выпуску
1 Введение
1.1 Примеры программы
1.2 Нотация
1.3 Отношение к Предопределенным Классам и Интерфейсам
1.4 Ссылки
2.1 Бесконтекстные грамматики
2.2 Лексическая Грамматика
2.3 Синтаксическая Грамматика
2.4 Нотация грамматики
3.1 Unicode4 Типа, Значения, и Переменные
3.2 Лексические Преобразования
3.3 Escape Unicode
3.4 Разделители строки
3.5 Входные Элементы и Маркеры
3.6 Пробел
3.7 Комментарии
3.8 Идентификаторы
3.9 Ключевые слова
3.10 Литерала3.10.1 Целочисленные Литералы3.11 Разделителя
3.10.2 Литералы с плавающей точкой
3.10.3 Булевы Литералы
3.10.4 Символьные Литералы
3.10.5 Строковые литералы
3.10.6 Escape-последовательности для Символьных и Строковых литералов
3.10.7 Нулевой Литерал
3.12 Оператора
4.1 Виды Типов и Значений5 Преобразований и Продвижения
4.2 Типы примитивов и Значения4.2.1 Целочисленные типы и Значения4.3 Ссылочные типы и Значения
4.2.2 Целочисленные операции
4.2.3 Типы с плавающей точкой, Форматы, и Значения
4.2.4 Операции с плавающей точкой
4.2.5 Булев Тип и булевы значения4.3.1 Объекты4.4 Введите Переменные
4.3.2 Объект Класса
4.3.3 Строка Класса
4.3.4 Когда Ссылочные типы Являются Тем же самым
4.5 Параметризованные Типы4.5.1 Введите Параметры и Подстановочные знаки4.6 Введите Стирание4.5.1.1 Введите Включение Параметра и Эквивалентность4.5.2 Элементы и Конструкторы Параметризованных Типов
4.7 Типы Reifiable
4.8 Необработанные Типы
4.9 Перекрестные Типы
4.10 Выделения подтипов4.10.1 Выделение подтипов среди Типов примитивов4.11, Где Типы Используются
4.10.2 Выделение подтипов среди Класса и Интерфейсных Типов
4.10.3 Выделение подтипов среди Типов Массива
4.12 Переменные4.12.1 Переменные Типа примитива
4.12.2 Переменные Ссылочного типа4.12.2.1 Загрязнение "кучи"4.12.3 Виды Переменных
4.12.4 заключительные Переменные
4.12.5 Начальные значения Переменных
4.12.6 Типы, Классы, и Интерфейсы
5.1 Виды Преобразования6 Имен5.1.1 Преобразования идентификационных данных5.2 Преобразование присвоения
5.1.2 Расширение Примитивного Преобразования
5.1.3 Сужение Примитивных Преобразований
5.1.4 Расширение и Сужение Примитивных Преобразований
5.1.5 Расширение Ссылочных Преобразований
5.1.6 Сужение Ссылочных Преобразований
5.1.7 Упаковка Преобразования
5.1.8 Распаковывание Преобразования
5.1.9 Преобразование непроверенное
5.1.10 Преобразование получения
5.1.11 Преобразования строк
5.1.12 Запрещенный Преобразования
5.1.13 Преобразование Набора значений
5.3 Преобразование Вызова метода
5.4 Преобразование строк
5.5 Кастинг Преобразования
5.6 Числовые Продвижения5.6.1 Унарное Числовое Продвижение
5.6.2 Двоичное Числовое Продвижение
6.1 Объявления7 Пакетов
6.2
6.36.3.1 Объявления затенения6.4 Элементы и Наследование
6.3.2 Затененные Объявления6.4.1 Элементы Переменных Типа, Параметризованных Типов, Необработанных Типов и Перекрестных Типов6.5 Определение Значения Имени
6.4.2 Элементы Пакета
6.4.3 Элементы Типа класса
6.4.4 Элементы Интерфейсного Типа
6.4.5 Элементы Типа Массива6.5.1 Синтаксическая Классификация Имени Согласно Контексту6.6 Управление доступом
6.5.2 Переклассификация Контекстуально Неоднозначных Имен
6.5.3 Значение Имен Пакета6.5.3.1 Простые Имена Пакета6.5.4 Значение PackageOrTypeNames
6.5.3.2 Квалифицированные Имена Пакета6.5.4.1 Простой PackageOrTypeNames6.5.5 Значение Имен типов
6.5.4.2 Квалифицированный PackageOrTypeNames
6.5.5.1 Простые Имена типов6.5.6 Значение Имен Выражения
6.5.5.2 Квалифицированные Имена типов6.5.6.1 Простые Имена Выражения6.5.7 Значение Имен методов
6.5.6.2 Квалифицированные Имена Выражения6.5.7.1 Простые Имена методов
6.5.7.2 Квалифицированные Имена методов6.6.1 Определение Доступности6.7 Полностью определенные Имена и Канонические имена
6.6.2 Детали о защищенном доступе6.6.2.1 Доступ к защищенному Элементу6.6.3 Пример Управления доступом
6.6.2.2 Квалифицированный Доступ к защищенному Конструктору
6.6.4 Пример: Доступ к общедоступным и Непубличным Классам
6.6.5 Пример: Поля доступа по умолчанию, Методы, и Конструкторы
6.6.6 Пример: общедоступные Поля, Методы, и Конструкторы
6.6.7 Пример: защищенные Поля, Методы, и Конструкторы
6.6.8 Пример: частные Поля, Методы, и Конструкторы
6.8 Соглашения о присвоении имен6.8.1 Имена пакета
6.8.2 Класс и Интерфейсные Имена типов
6.8.3 Введите Имена переменной
6.8.4 Имена методов
6.8.5 Имена полей
6.8.6 Постоянные Имена
6.8.7 Локальная переменная и Названия параметра
7.1 Элементы пакета8 Классов
7.2 Поддержка узла Пакетов7.2.1 Хранение Пакетов в Файловой системе7.3 Единицы компиляции
7.2.2 Хранение Пакетов в Базе данных
7.4 Объявления пакета7.4.1 Названный Пакетами7.5 Объявления импорта7.4.1.1 Аннотации пакета7.4.2 Неназванные Пакеты
7.4.3 Наблюдательность Пакета
7.4.4 Контекст Объявления Пакета7.5.1 Объявление единственного импорта типа7.6 Высокоуровневые Описания типа
7.5.2 Объявление "Импорт типа по требованию"
7.5.3 Единственное Статическое Объявление Импорта
7.5.4 Объявление "статический Импорт по требованию"
7.5.5 Автоматический Импорт
7.5.6 Странный Пример
7.7 Уникальные Имена Пакета
8.1 Объявление класса8.5 Объявления Типа элемента8.1.1 Модификаторы класса8.2 Элементы класса8.1.1.1 абстрактные классы8.1.2 Универсальные Классы и Параметры Типа
8.1.1.2 заключительные Классы
8.1.1.3 Классы strictfp
8.1.3 Внутренние Классы и Экземпляры Включения
8.1.4 Суперклассы и Подклассы
8.1.5 Суперинтерфейсы
8.1.6 Тело класса и Задействованные Объявления8.2.1 Примеры Наследования8.3 Полевые Объявления8.2.1.1 Пример: Наследование с Доступом По умолчанию
8.2.1.2 Наследование с общественностью и защищенный
8.2.1.3 Наследование с частным
8.2.1.4 Доступ к Элементам Недоступных Классов8.3.1 Полевые Модификаторы8.4 Объявления метода8.3.1.1 статические Поля8.3.2 Инициализация Полей
8.3.1.2 заключительные Поля
8.3.1.3 переходные Поля
8.3.1.4 энергозависимые Поля8.3.2.1 Инициализаторы для Переменных Класса8.3.3 Примеры Полевых Объявлений
8.3.2.2 Инициализаторы например Переменные
8.3.2.3 Ограничения на использование Полей во время Инициализации8.3.3.1 Пример: Сокрытие Переменных Класса
8.3.3.2 Пример: Сокрытие Переменных экземпляра
8.3.3.3 Пример: Умножьте Наследованные Поля
8.3.3.4 Пример: перенаследование Полей8.4.1 Формальные параметры
8.4.2 Сигнатура метода
8.4.3 Модификаторы метода8.4.3.1 абстрактные Методы8.4.4 Универсальные Методы
8.4.3.2 статические Методы
8.4.3.3 заключительные Методы
8.4.3.4 собственные Методы
8.4.3.5 Методы strictfp
8.4.3.6 синхронизируемые Методы
8.4.5 Тип Возврата метода
8.4.6 Броски метода
8.4.7 Тело метода
8.4.8 Наследование, Переопределение, и Сокрытие8.4.8.1 Переопределение (Методами экземпляра)8.4.9 Перегрузка
8.4.8.2 Сокрытие (Методами Класса)
8.4.8.3 Требования в Переопределении и Сокрытии
8.4.8.4 Наследование Методов с Эквивалентными переопределению Подписями
8.4.10 Примеры Объявлений метода8.4.10.1 Пример: Переопределение
8.4.10.2 Пример: Перегрузка, Переопределение, и Сокрытие
8.4.10.3 Пример: Неправильное Переопределение
8.4.10.4 Пример: Переопределение против Сокрытия
8.4.10.5 Пример: Вызов Скрытых Методов Класса
8.4.10.6 Большой Пример Переопределения
8.4.10.7 Пример: Неправильное Переопределение из-за Бросков
8.5.1 Модификаторы8.6 Инициализаторы экземпляра
8.5.2 Статические Объявления Типа элемента
8.8.1 Формальные параметры и Формальный Параметр Типа8.9 Перечисления
8.8.2 Подпись конструктора
8.8.3 Модификаторы конструктора
8.8.4 Универсальные Конструкторы
8.8.5 Броски конструктора
8.8.6 Тип Конструктора
8.8.7 Тело конструктора8.8.7.1 Явные Вызовы Конструктора8.8.8 Конструктор, Перегружающийся
8.8.9 Конструктор по умолчанию
8.8.10 Предотвращение Инстанцирования Класса
9.1 Интерфейсные Объявления10 Массивов
9.1.1 Интерфейсные Модификаторы9.2 Интерфейсные Элементы
9.1.1.1 абстрактные Интерфейсы9.1.2 Универсальные Интерфейсы и Параметры Типа
9.1.1.2 Интерфейсы strictfp
9.1.3 Суперинтерфейсы и Подынтерфейсы
9.1.4 Интерфейсные Объявления Тела и Элемента
9.1.5 Доступ, чтобы Соединить интерфейсом с Именами элемента
9.3 Поле (Постоянные) Объявления
9.3.1 Инициализация Полей в Интерфейсах9.4 Абстрактные Объявления метода
9.3.2 Примеры Полевых Объявлений
9.3.2.1 Неоднозначные Наследованные Поля
9.3.2.2 Умножьте Наследованные Поля
9.4.1 Наследование и Переопределение9.5 Объявления Типа элемента
9.4.2 Перегрузка
9.4.3 Примеры Абстрактных Объявлений метода
9.4.3.1 Пример: Переопределение
9.4.3.2 Пример: Перегрузка
9.6 Типы аннотации
9.6.1 Предопределенные Типы Аннотации9.7 Аннотации
9.6.1.1 Цель
9.6.1.2 Задержание
9.6.1.3 Наследованный
9.6.1.4 Переопределение
9.6.1.5 SuppressWarnings
9.6.1.6 Устаревшие
10.1 Типы массива11 Исключений
10.2 Переменные типа массив
10.3 Создание массива
10.4 Доступ массива
10.5 Массивы: Простой Пример
10.6 Инициализаторы массива
10.7 Элементы массива
10.8 Объекты класса для Массивов
10.9 Массивом Символов Не является Строка
10.10 Исключений Хранилища Массива
11.1 Причины Исключений12 Выполнения
11.2 Время компиляции Проверяя Исключений
11.2.1 Анализ исключения Выражений11.3 Обработка Исключения
11.2.2 Анализ исключения Операторов
11.2.3 Проверка исключения
11.2.4 Почему Ошибки Не Проверяются
11.2.5 Почему Исключения на этапе выполнения Не Проверяются
11.3.1 Исключения Точны11.4 Пример Исключений
11.3.2 Обработка Асинхронных Исключений
11.5 Иерархия Исключения
11.5.1 Загрузка и Ошибки Редактирования
11.5.2 Ошибки Виртуальной машины
12.1 Запуск Виртуальной машины13 Совместимостей на уровне двоичных кодов
12.1.1 Загрузите Тест Класса12.2 Загрузка Классов и Интерфейсов
12.1.2 Тест ссылки: Проверьте, Подготовьтесь, (Дополнительно) Решение
12.1.3 Инициализируйте Тест: Выполните Инициализаторы
12.1.4 Вызовите Test.main
12.2.1 Процесс загрузки12.3 Соединение Классов и Интерфейсов
12.3.1 Проверка Двоичного Представления12.4 Инициализация Классов и Интерфейсов
12.3.2 Подготовка Класса или Интерфейсного Типа
12.3.3 Разрешение Символьных Ссылок
12.4.1 Когда Инициализация Происходит12.5 Создание Новых Экземпляров Класса
12.4.2 Подробная Процедура Инициализации
12.4.3 Инициализация: Импликации для Генерации кода
12.6 Завершение Экземпляров Класса12.6.1 Реализация Завершения12.7 Разгрузка Классов и Интерфейсов12.6.1.1 Взаимодействие с Моделью Памяти12.6.2 Вызовы финализатора Не Упорядочиваются
12.8 Выход программы
13.1 Форма Двоичного файла14 Блоков и Операторы
13.2 Что Совместимость на уровне двоичных кодов и Не
13.3 Развитие Пакетов
13.4 Развитие Классов13.4.1 абстрактные классы13.5 Развитие Интерфейсов
13.4.2 заключительные Классы
13.4.3 общедоступные Классы
13.4.4 Суперклассы и Суперинтерфейсы
13.4.5 Класс Формальные Параметры Типа
13.4.6 Тело класса и Задействованные Объявления
13.4.7 Доступ к Элементам и Конструкторам
13.4.8 Полевые Объявления
13.4.9 заключительные Поля и Константы
13.4.10 статические Поля
13.4.11 переходные Поля
13.4.12 Метод и Объявления Конструктора
13.4.13 Метод и Конструктор Формальные Параметры Типа
13.4.14 Метод и Параметры Конструктора
13.4.15 Тип Результата метода
13.4.16 абстрактные Методы
13.4.17 заключительные Методы
13.4.18 собственные Методы
13.4.19 статические Методы
13.4.20 синхронизируемые Методы
13.4.21 Метод и Броски Конструктора
13.4.22 Метод и Тело Конструктора
13.4.23 Метод и Конструктор, Перегружающийся
13.4.24 Переопределение метода
13.4.25 Статические Инициализаторы
13.4.26 Развитие Перечислений
13.5.1 открытые интерфейсы
13.5.2 Суперинтерфейсы
13.5.3 Интерфейсные Элементы
13.5.4 Соедините интерфейсом с Формальными Параметрами Типа
13.5.5 Полевые Объявления
13.5.6 Абстрактные Объявления метода
13.5.7 Развитие Типов Аннотации
14.1 Нормальное и Резкое Завершение Операторов15 Выражений
14.2 Блоки
14.3 Объявления Локального класса
14.4 Операторы объявления Локальной переменной
14.4.1 Операторы объявления Локальной переменной и Типы14.5 Операторы
14.4.2 Контекст Объявлений Локальной переменной
14.4.3 Затенение Имен Локальными переменными
14.4.4 Выполнение Объявлений Локальной переменной
14.6 Пустой Оператор
14.7 Помеченные операторы
14.8 Операторы выражения
14.9 Если Оператор
14.9.1 Если тогда Оператор14.10 оператор контроля
14.9.2 Оператор, "если тогда еще"
14.11 оператор переключения
14.12, в то время как Оператор
14.12.1 Резкое Завершение14.13 делают Оператор
14.13.1 Резкое Завершение14.14 для Оператора
14.13.2 Пример делает оператор
14.14.1 Основное для Оператора14.15 оператор завершения
14.14.1.1 Инициализация для оператора14.14.2 Улучшенный для оператора
14.14.1.2 Итерация для оператора
14.14.1.3 Резкое Завершение для оператора
14.16 продолжать Оператор
14.17 оператор возврата
14.18 Оператор броска
14.19 синхронизируемый Оператор
14.20 оператор попытки
14.20.1 Выполнение выгоды попытки14.21 Недостижимых Операторов
14.20.2 Выполнение "попытки ловит наконец"
15.1 Оценка, Обозначение, и Результат16 Определенных Присвоений
15.2 Переменные как Значения
15.3 Тип Выражения
15.4 Строгие FP Выражения
15.5 Выражения и Проверки на этапе выполнения
15.6 Нормальное и Резкое Завершение Оценки
15.7 Порядок оценки
15.7.1 Оцените Левый Операнд Сначала15.8 Основные Выражения
15.7.2 Оцените Операнды перед Работой
15.7.3 Круглые скобки Отношений оценки и Приоритет
15.7.4 Списки параметров Оцениваются Слева направо
15.7.5 Порядок оценки на Другие Выражения
15.8.1 Лексические Литералы15.9 Выражения Создания Экземпляра класса
15.8.2 Литералы класса
15.8.3this
15.8.4 Квалифицированныйthis
15.8.5 Заключенные в скобки Выражения
15.9.1 Определение Класса, который Инстанцируют15.10 Выражений Создания Массива
15.9.2 Определение Экземпляров Включения
15.9.3 Выбор Конструктора и его Параметров
15.9.4 Оценка времени выполнения Выражений Создания Экземпляра Класса
15.9.5 Объявления Анонимного класса15.9.5.1 Анонимные Конструкторы15.9.6 Пример: Порядок Оценки и Обнаружение Из памяти
15.10.1 Оценка времени выполнения Выражений Создания Массива15.11 Выражений Доступа к полю
15.10.2 Пример: Порядок Оценки Создания Массива
15.10.3 Пример: Создание Массива и Обнаружение Из памяти
15.11.1 Доступ к полю Используя Основное устройство15.12 Выражений Вызова метода
15.11.2 Доступ к Задействованному использованию Суперклассаsuper
15.12.1 Шаг 1 времени компиляции: Определите Класс или Интерфейс, чтобы Искать15.13 Выражений Доступа Массива
15.12.2 Шаг 2 времени компиляции: Определите Сигнатуру метода
15.12.2.1 Идентифицируйте Потенциально Применимые Методы15.12.3 Шаг 3 времени компиляции: Выбранный Метод является Соответствующим?
15.12.2.2 Фаза 1: Идентифицируйте Соответствие Методов Арности, Применимых, Выделяя подтипы
15.12.2.3 Фаза 2: Идентифицируйте Соответствие Методов Арности, Применимых Преобразованием Вызова метода
15.12.2.4 Фаза 3: Идентифицируйте Применимые Переменные Методы Арности
15.12.2.5 Выбор Самого определенного Метода
15.12.2.6 Результат метода и Типы Бросков
15.12.2.7 Выведение Параметров Типа, Основанных на Фактических Параметрах
15.12.2.8 Выведение Неразрешенных Параметров Типа
15.12.2.9 Примеры
15.12.2.10 Пример: Перегрузка Неоднозначности
15.12.2.11 Пример: Возвратите Тип, Не Продуманный
15.12.2.12 Пример: Разрешение времени компиляции
15.12.4 Оценка времени выполнения Вызова метода
15.12.4.1 Вычислите Целевую Ссылку (В случае необходимости)
15.12.4.2 Оцените Параметры
15.12.4.3 Проверьте Доступность Типа и Метода
15.12.4.4 Определите местоположение Метода, чтобы Вызвать
15.12.4.5 Создайте Фрейм, Синхронизируйтесь, Управление Передачей
15.12.4.6 Пример: Целевые Ссылочные и Статические Методы
15.12.4.7 Пример: Порядок Оценки
15.12.4.8 Пример: Переопределение
15.12.4.9 Пример: Вызов метода, использующий супер
15.13.1 Оценка времени выполнения Доступа Массива15.14 Постфиксных Выражений
15.13.2 Примеры: Порядок Оценки Доступа Массива
15.14.1 Имена выражения15.15 Унарных операторов
15.14.2 Постфиксный Инкрементный Оператор ++
15.14.3 Постфиксный Декрементный Оператор-
15.15.1 Префиксный Инкрементный Оператор ++15.16 Выражений Броска
15.15.2 Префиксный Декрементный Оператор-
15.15.3 Унарный Плюс Оператор +
15.15.4 Оператор унарный минус -
15.15.5 Поразрядный Дополнительный Оператор ~
15.15.6 Логический Дополнительный Оператор!
15.17 Мультипликативных Операторов
15.17.1 Оператор умножения *15.18 Аддитивных Операторов
15.17.2 Оператор подразделения /
15.17.3 % Оператора остатка
15.18.1 Оператор Конкатенации строк +15.19 Операторов Сдвига
15.18.1.1 Преобразование строк15.18.2 Аддитивные Операторы (+ и-) для Числовых Типов
15.18.1.2 Оптимизация Конкатенации строк
15.18.1.3 Примеры Конкатенации строк
15.20 Операторов отношения
15.20.1 Числовые Операторы сравнения <<=>, и> =15.21 Операторов Равенства
15.20.2 Оператор Сравнения типов instanceof
15.21.1 Числовые Операторы Равенства == и! =15.22 Логических операторов и Логические операторы
15.21.2 Булевы Операторы Равенства == и! =
15.21.3 Ссылочные Операторы Равенства == и! =
15.22.1 Целочисленные Логические операторы &, ^, и |15.23 Условных выражений - И Оператор &&
15.22.2 Булевы Логические операторы &, ^, и |
15.24 Условных выражений - Или Оператор ||
15.25 Условных Операторов?:
15.26 Операторов присваивания
15.26.1 Простой Оператор присваивания =15.27 Выражений
15.26.2 Составные Операторы присваивания
15.28 Константных выражений
16.1 Определенное Присвоение и Выражения17 Потоков и Блокировки
16.1.1 Булевы Константные выражения16.2 Определенное Присвоение и Операторы
16.1.2 Булев оператор &&
16.1.3 Булев оператор ||
16.1.4 Булев оператор!
16.1.5 Булев оператор?:
16.1.6 Условный Оператор?:
16.1.7 Другие Выражения булевской переменной Типа
16.1.8 Выражения присвоения
16.1.9 Операторы ++ и--
16.1.10 Другие Выражения
16.2.1 Пустые Операторы16.3 Определенное Присвоение и Параметры
16.2.2 Блоки
16.2.3 Операторы объявления Локального класса
16.2.4 Операторы объявления Локальной переменной
16.2.5 Помеченные операторы
16.2.6 Операторы выражения
16.2.7 если Операторы
16.2.8 операторы контроля
16.2.9 операторы переключения
16.2.10 в то время как Операторы
16.2.11 сделайте Операторы
16.2.12 для Операторов
16.2.12.1 Часть инициализации16.2.13 повредите, продолжайте, возвратите, и бросьте Операторы
16.2.12.2 Часть приращения
16.2.14 синхронизируемые Операторы
16.2.15 попробуйте Операторы
16.4 Определенные Инициализаторы Присвоения и Массива
16.5 Определенное Присвоение и Перечислимые Константы
16.6 Определенное Присвоение и Анонимные классы
16.7 Определенное Присвоение и Типы элемента
16.8 Определенное Присвоение и Статические Инициализаторы
16.9 Определенное Присвоение, Конструкторы, и Инициализаторы Экземпляра
17.1 Блокировки18 Синтаксисов
17.2 Нотация в Примерах
17.3 Неправильно Синхронизируемые Поведения Удивления приложения Программ
17.4 Модель памяти
17.4.1 Совместно используемые переменные17.5 Заключительная Полевая Семантика
17.4.2 Действия
17.4.3 Программы и Порядок Программы
17.4.4 Порядок синхронизации
17.4.5 Происходит - перед Порядком
17.4.6 Выполнение
17.4.7 Правильно построенное Выполнение
17.4.8 Выполнение и Требования Причинной связи
17.4.9 Заметное Поведение и Незавершающееся Выполнение
17.5.1 Семантика Заключительных Полей17.6 Word Tearing
17.5.2 Чтение Заключительных Полей Во время Конструкции
17.5.3 Последующая Модификация Заключительных Полей
17.5.4 Поля Защищенные от записи
17.7 Неатомарная Обработкаdouble
иlong
17.8 Ожидайте Наборы и Уведомление
17.8.1 Ожидать17.9 Сон и Урожай
17.8.2 Уведомление
17.8.3 Прерывания
17.8.4 Взаимодействия Ожидают, Уведомление и Прерывание
18.1 Грамматика Языка программирования JavaИндекс
Copyright 1996-2005 Sun Microsystems, Inc. Все права защищены.