Содержание | Предыдущий | Следующий | ИндексСпецификация Виртуальной машины JavaTM


ГЛАВА 1

Введение


1.1 Немного Истории

Язык программирования Java является объектно-ориентированным параллельным языком общего назначения. Его синтаксис подобен C и C++, но это опускает многие из функций, которые делают C и комплекс C++, запутывающий, и опасный. Платформа Java была первоначально разработана, чтобы рассмотреть проблемы создания программного обеспечения для сетевых потребительских устройств. Это было разработано, чтобы поддерживать многократную архитектуру узла и позволить безопасную поставку компонентов программного обеспечения. Чтобы удовлетворить эти требования, скомпилированный код должен был пережить транспорт через сети, работать на любом клиенте, и уверить клиент, что было безопасно работать.

Популяризация всемирной паутины, сделанной этими намного более интересными атрибутами. Интернет демонстрировал, как богатый носителями контент мог быть сделан доступным простыми способами. Веб-браузеры, такие как Мозаика, включенная миллионы людей, чтобы переместиться Сеть и сделанная веб-часть перемещения массовой культуры. Наконец был носитель, где то, что Вы видели и услышали, было по существу тем же самым, использовали ли Вы Mac, PC, или машину UNIX, и были ли Вы соединены с высокоскоростной сетью или медленным модемом.

Веб-энтузиасты скоро обнаружили, что контент, поддерживаемый форматом документа HTML Сети, был слишком ограничен. Расширения HTML, такие как формы, только выделили те ограничения, проясняя, что никакой браузер не мог включать всех требуемых пользователей функций. Расширяемость была ответом.

Браузер HotJava Sun демонстрирует интересные свойства языка программирования Java и платформы, позволяя встроить программы в страницах HTML. Эти программы прозрачно загружаются в браузер HotJava наряду со страницами HTML, в которых они появляются. Прежде, чем быть принятым браузером программы тщательно проверяются, чтобы удостовериться, что они безопасны. Как страницы HTML, скомпилированные программы являются сетью - и независимый от узла. Программы ведут себя тот же самый путь независимо от того, куда они происходят из или в какую машину они загружаются и работаются.

Веб-браузер, включающий Java или Java 2 платформы, больше не ограничивается предопределенным набором возможностей. Посетителей Веб-страниц, включающих динамический контент, можно уверить, что их машины не могут быть повреждены тем контентом. Программисты могут записать программу однажды, и она будет работать на любой машине, предоставляющей Java или Java 2 среды выполнения.


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

Виртуальная машина Java является краеугольным камнем Java и Java 2 платформы. Это - компонент технологии, ответственной за ее аппаратные средства - и операционную систему - независимость, небольшой размер ее скомпилированного кода, и его возможности защитить пользователей от вредоносных программ.

Виртуальная машина Java является абстрактным компьютером. Как реальный компьютер, это имеет набор команд и управляет различными областями памяти во время выполнения. Разумно распространено реализовать язык программирования, используя виртуальную машину; самая известная виртуальная машина может быть машиной Псевдокода Паскаля UCSD.

Первая прототипная реализация виртуальной машины Java, сделанной в Sun Microsystems, Inc., эмулировала набор команд виртуальной машины Java в программном обеспечении, размещенном карманным устройством, которое напоминало современный Персональный Цифровой Ассистент (PDA). Текущие реализации виртуальной машины Java Sun, компоненты ее JavaTM 2 SDK и JavaTM 2 продукта Среды выполнения, эмулируют виртуальную машину Java на Win32 и узлах Соляриса намного более сложными способами. Однако, виртуальная машина Java не принимает определенной технологии реализации, размещает аппаратные средства, или размещает операционную систему. Это по сути не интерпретируется, но может точно также быть реализовано, компилируя его набор команд в тот из кремниевого ЦП. Это может также быть реализовано в микрокоде или непосредственно в кремнии.

Виртуальная машина Java ничего не знает о языке программирования Java, только об определенном двоичном формате, class формат файла. A class файл содержит инструкции виртуальной машины Java (или байт-коды) и таблица символов, так же как другая вспомогательная информация.

Ради безопасности виртуальная машина Java налагает сильный формат и структурные ограничения на код в a class файл. Однако, любой язык с функциональностью, которая может быть выражена с точки зрения допустимого class файл может быть размещен виртуальной машиной Java. Притянутый общедоступной, машинно-независимой платформой, конструкторы других языков поворачиваются к виртуальной машине Java как средство доставки для их языков.


1.3 Сводка Глав

Остальная часть этой книги структурируется следующим образом:


1.4 Нотация

Всюду по этой книге мы обращаемся к классам и интерфейсам, оттянутым из Java и Java 2 платформы. Всякий раз, когда мы обращаемся к классу или интерфейсу, используя единственный идентификатор N, намеченная ссылка к классу или интерфейсу java.lang.N. Мы используем полностью определенное имя для классов от пакетов кроме java.lang.

Всякий раз, когда мы обращаемся к классу или интерфейсу, который объявляется в пакете java или любой из ее подпакетов, намеченная ссылка к тому классу или интерфейсу как загружено загрузчиком класса начальной загрузки (§5.3.1). Всякий раз, когда мы обращаемся к подпакету названного пакета java, намеченная ссылка к тому подпакету как определено загрузчиком класса начальной загрузки.

Использование шрифтов в этой книге следующие:


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

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



Spec-Zone.ru - all specs in one place



free hit counter