Ключевые моменты Java-технологии

по материалам еженедельника "Софтмаркет", N11, 1996 г.

Технология Java позволяет создавать полноценные приложения для работы с компьютерной графикой, файловыми системами и компьютерными сетями, включая глобальные. Эти приложения представляют собой не единый гигантский монолит, а множество небольших элементов микроприложений (специалисты Sun называют их "applets", мы их будем называть просто приложениями), выполняющих относительно небольшое число функций (*).После компиляции средний размер кода микроприложения колеблется от 5 до 30 Кб, следовательно, его пересылка по компьютерной сети займет совсем немного времени.

Java-приложения компилируются в особый код (так называемый байт-код), исполняемый на виртуальной машине (Java Virtual Machine).

Технология обеспечивает быстрый цикл компиляции и отладки программ. Еще на стадии компиляции проводится выявление многих ошибок и частичная оптимизация программ. Средства разработки, содержащие виртуальную машину внутри себя, обеспечивают контроль приложений на стадии исполнения (переполнение стека, отслеживание границ массивов, поиск резервов для оптимизации и др.).

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

Виртуальная машина представляет собой довольно компактный интерпретатор байт-кода Java. Так, клиентская программа HotJava, разработанная фирмой Sun Microsystems для путешествий по World Wide Web и для запуска Java-приложений, занимает около 1 Мб ОЗУ. Ее версии имеются для ОС Solaris, MacOS, Windows NT и Windows 95. Интерпретатор байт-кода Java встроен и в программу Netscape Navigator 2.0 компании Netscape Communications, которая, кстати, поддерживает более свежую версию языка Java, чем HotJava.

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

Непосредственно перед запуском виртуальная машина производит сборку модулей и устанавливает связи между именами, при этом поиск недостающих модулей производится не только в системе, но и на серверах Internet. Как утверждают очевидцы, в первый раз связывание происходит относительно долго, повторно - намного быстрее. Затем, собственно, и начинается работа приложений.

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