Технология Java включает в себя язык программирования и платформу, для обозначения которых используется одно название - Java.
Java - это объектно-ориентированный, распределенный, интерпретируемый, защищенный, архитектурно-независимый, переносимый, высокопроизводительный, многопоточный, динамический язык программирования высокого уровня.
Программа на языке Java транслируется компилятором в специальный байтовый код - Java bytecode, называемый также J-кодом, для выполнения которого требуется интерпретатор Java. Таким образом, язык Java является одновременно компилируемым и интерпретируемым. Интерпретатор Java - это приложение, предназначенное для конкретной аппаратно-программной платформы: PC-Windows, PC-Linux, Mac, UNIX-машины. J-код не зависит от платформы.
Это обеспечивает архитектурную независимость и переносимость программ на языке Java. Байтовый код Java можно рассматривать как набор машинных команд для некоторой виртуальной машины, реализуемой интерпретатором. Он может исполняться в любой среде, в которой выполняется виртуальная машина Java.
Основными единицами, из которых строится программа Java, являются классы. Классы образуют иерархическую древовидную структуру, лежащую в основе объектноориентированной модели языка. Класс представляет собой совокупность данных и методов для их обработки. Метод в терминологии объектно-ориентированной модели является синонимом процедуры или функции. На базе уже существующего класса может быть определен новый класс, являющийся подклассом своего предшественника. Исходный класс является родительским классом или надклассом для своего подкласса. Подкласс наследует у родительского класса коллекцию данных и методов. Кроме них он может содержать собственные данные и методы.
Класс определяет целый тип данных. Конкретный экземпляр этого типа называется объектом. Написание Java-программы заключается в создании нового класса или совокупности связанных между собой классов, то есть в определении набора данных, описывающих решаемую задачу, и в конструировании методов, реализующих обработку этих данных. При этом для порождения новых классов может использоваться существующая базовая коллекция классов. Исходный текст на языке Java, составляющий описание класса, сохраняется в файле, имя которого имеет расширение JAVA. Этот файл компилируется в J-код и сохраняется в файле с тем же именем и расширением CLASS. Скомпилированные классы Java в виде J-кода могут храниться локально на компьютере или распределенно в сети и динамически загружаться выполняющимися приложениями по мере необходимости.
Платформа Java состоит из виртуальной машины и интерфейса прикладного программирования Java API. Виртуальная машина предназначена для выполнения J-кода на различных платформах. Интерфейс прикладного программирования Java представляет собой большую коллекцию классов в формате J-кода, сгруппированных по своему назначению в отдельные пакеты. Список имеющихся пакетов занимает несколько страниц текста, и каждый из пакетов содержит коллекцию классов. Для работы с такой сложной структурой используется специальная схема именования пакетов и классов, напоминающая доменную систему имен Интернета (DNS). Например, имя java.lang определяет пакет, содержащий базовые классы самого языка Java. Имя java.lang.object определяет класс object внутри этого пакета. Пакеты, имена которых начинаются со слова java, составляют основу интерфейса прикладного программирования и входят в состав любой платформы Java. Кроме основной части API существуют стандартные расширения для работы с трехмерной графикой, анимацией и т. д.
Для создания Java-программ необходим набор средств разработчика Java Development Kit (JDK), включающий в себя базовую коллекцию классов, компилятор javac, отладчик jdb, виртуальную машину java для выполнения готовых приложений и программу просмотра аплетов appietviewer. Существуют варианты набора JDK от фирм Sun и Microsoft и, кроме того, визуальные средства разработки фирм Microsoft, Borland, Symantec.
В среде Java существуют два основных типа программ: приложения (application) и аплеты (applets). Приложение - это самостоятельная программа, для выполнения которой требуется только наличие виртуальной машины Java. Аплет - это программа, которая предназначена для выполнения в составе Web-браузера или специальной программы просмотра аплетов. Java-аплеты - это еще один метод создания динамических HTML-документов.
Аплет создается, компилируется и сохраняется на Web-сервере. В HTML-документ, публикуемый на сервере, при помощи специального тэга помещается ссылка на местоположение аплета. При получении документа с сервера браузер загружает аплет и начинает его выполнять. Такой подход к созданию динамических документов прямо противоположен подходу, который используется в программировании интерфейсов CGI: апплет выполняется на стороне клиента, а CGI-сценарий - на стороне сервера.
Аплеты Java, используются наряду с клиентскими сценариями для организации активности на стороне клиента. Аплеты Java применяются для организации визуальных и звуковых эффектов, а также ввода и предварительной обработки данных перед отправкой их на сервер, а также для представления полученных от сервера данных в графическом, табличном или каком-либо другом виде.
Аплеты выполняются под управлением браузера и не имеют доступа к локальным ресурсам компьютера. Однако они способны взаимодействовать с расширениями сервера CGI и ISAPI, а также читать файлы с того Web-сервера, с которого они были загружены.
Аплет не может:
1. осуществлять операции чтения-записи в локальной файловой системе, то есть читать и изменять файлы, просматривать содержимое каталогов, создавать, удалять, переименовывать файлы и каталоги;
2. устанавливать сетевые соединения с другими компьютерами, кроме компьютера, с которого он был загружен;
3. запускать на выполнение другие программы на компьютере, на котором он выполняется;
4. использовать библиотеки других языков программирования, 5. изменять системные параметры.
Для проверки соблюдения правил безопасности существует специальный класс java.lang.SecurityManager. Экземпляр этого класса выполняется в составе виртуальной Java-машины браузера.
⇐Vbscript | Введение в технологии создания Интернет-узлов | Activex⇒