Язык Java
Категория реферата: Рефераты по информатике, программированию
Теги реферата: в контакте сообщения, контрольная по алгебре
Добавил(а) на сайт: Efimij.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 | Следующая страница реферата
1.1. Типы Java программ.
Программы, разработанные на языке программирования Java, можно разделить по своему назначению и функциональности на две большие группы:
. Самостоятельные программы (назовём их приложения Java), работающие независимо на локальном компьютере.
. Апплеты (applets), работающие в Internet. [2]
В настоящее время работа Java поддерживается всеми основными
компьютерными платформами. Самостоятельное приложение, предназначенное для
автономной работы, компилируется и выполняется на локальной машине под
управлением системы времени выполнения Java. Java вполне подходит для
написания приложений, которые с тем же успехом могли быть написаны на С,
С++, Basic, Delphi или любом другом языке программирования.
Апплеты, которые и обеспечивают этому языку его популярность
представляют собой разновидность приложений Java, которые интерпретируются
Виртуальной Машиной Java, встроенной практически во все современные
браузеры.
Каждый апплет — это небольшая программа, динамически загружаемая по
сети с Web сервера при открытии в браузере HTML страницы, в которой имеется
ссылка на апплет — точно так же, как картинка, звуковой файл или элемент
мультипликации. Главная особенность апплетов заключается в том, что они
являются настоящими программами, а не очередным форматом файлов для
хранения мультфильмов или какой-либо другой информации. Апплет не просто
проигрывает один и тот же сценарий, а реагирует на действия пользователя и
может динамически менять свое поведение. С помощью апплетов вы можете
сделать страницы сервера Web динамичными и интерактивными. Апплеты
позволяют выполнять сложную локальную обработку данных, полученных от
сервера Web или введенных пользователем с клавиатуры. Для повышения
производительности апплетов в браузерах используется компиляция "на лету"-
Just-In-Time compilation (JIT). При первой загрузке аплета его код
транслируется в обычную исполнимую программу, которая сохраняется на диске
и запускается. В результате общая скорость выполнения аплета Java
увеличивается в несколько раз. Из соображений безопасности апплеты (в
отличие от обычных приложений Java) не имеют никакого доступа к файловой
системе локального компьютера. Все данные для обработки они могут получить
только от сервера Web.
1.2. Этапы подготовки исполняемой программы.
Безопасность.
Исходный файл на языке Java - это текстовый файл, содержащий в себе
одно или несколько описаний классов. Транслятор Java предполагает, что
исходные тексты программ хранятся в файлах с расширениями java. Получаемый
в процессе трансляции байт-код для каждого класса записывается в отдельном
выходном файле, с именем совпадающем с именем класса, и расширением class.
Именно сlass-файлы, содержащие байт-код, интерпретируются системой времени
выполнения Java в машинный код конкретной системы. Прежде всего байт-код
Java загружается в систему времени выполнения загрузчиком классов.
Загрузчик классов отвечает за то, чтобы были загружены все классы, необходимые для выполнения приложения. Затем байт-код проверяется
верификатором байт-кода на отсутствие операций, которые могли бы нарушить
безопасность системы или вызвать в ней аварийную ситуацию. Важно отметить, что загрузчик классов и верификатор байт-кодов не делают никаких
предположений относительно происхождения кодов ( получены они с локальной
файловой системы или с другого континента. Верификатор гарантирует, что
любой код, прошедший проверку, может быть использован интерпретатором без
риска повредить его (интерпретатор), а именно:
1. не может произойти переполнение или "исчерпание" стека
параметры для инструкций байт-машины имеют нужный тип
доступ к полям и методам объектов не нарушает объявленных в классе правил
(public, private, protected)
После такой проверки на безопасность байт-код интерпретируется в
машинный код и запускается на выполнение интерпретатором. Причём классы, полученные локально (заслуживающие безусловного доверия), и классы, присланные по сети из остального мира (и потенциально враждебные), находятся в разных пространствах имён. При разрешении ссылки на какой-либо
класс он ищется прежде всего в локальном пространстве. Это не позволяет
"внешним" кодам подменить один из базовых классов в системе. Также в
процессе интерпретации происходит подключение необходимых библиотек (файлы
с расширением jar). Весь описанный процесс исполнения Java программ
изображён на рис. 1.
[pic]
Рис. 1. Процесс создания работающего Java-приложения
Как уже было сказано выше, технология Java предполагает лёгкую
переносимость программных продуктов с одной платформы на другую. Такую
степень лёгкости переноса не обеспечивает ни какой язык программирования.
На рис. 2 показвно, как приложение, изначально разработанное на языка С для
Windows NT, переносится на платформу Apple Macintosh.
Платформа Windows NT Платформа Apple
Macintosh
Изменение исходного текста программы
Рис. 2. Перенос приложения с платформы Windows NT на платформу Macintosh
Вначале программист готовит исходные тексты приложения для платформы
Windows NT и отлаживает их там. Для получения загрузочного модуля исходные
тексты компилируются и редактируются. Полученный в результате загрузочный
модуль может работать на процессоре фирмы Intel в среде операционной
системы Windows NT.
Для того чтобы перенести приложение в среду операционной системы компьютера Macintosh, программист вносит необходимые изменения в исходные тексты приложения. Эти изменения необходимы из-за различий в программном интерфейсе операционной системы Windows NT и операционной системы, установленной в Macintosh. Далее эти исходные тексты транслируются и редактируются, в результате чего получается загрузочный модуль, способный работать в среде Macintosh, но не способный работать в среде Windows NT.
Программа на языке Java компилируется в двоичный модуль, состоящий из команд виртуального процессора Java (Виртуальная машина Java). Такой модуль содержит байт-код, предназначенный для выполнения Java-интерпретатором. На настоящий момент уже созданы первые модели физического процессора, способного выполнять этот байт-код, однако интерпретаторы Java имеются на всех основных компьютерных платформах. Разумеется, на каждой платформе используется свой интерпретатор, или, точнее говоря, свой виртуальный процессор Java.
Если приложение Java (или апплет) должно работать на нескольких платформах, нет необходимости компилировать его исходные тексты несколько раз. Можно откомпилировать и отладить приложение Java на одной, наиболее удобной платформе. В результате получится байт-код, пригодный для любой платформы, где есть виртуальный процессор Java.
Сказанное иллюстрируется на рис. 3.
Платформа Windows NT Платформа Apple Macintosh
Платформа Sun Solaris
Рис. 3. Подготовка приложения Java для работы на разных платформах
Таким образом, приложение Java компилируется и отлаживается только один раз, что уже значительно лучше. Остается, правда, вопрос - как быть с программным интерфейсом операционной системы, который отличается для разных платформ?
Рекомендуем скачать другие рефераты по теме: оценка реферата, диплом анализ.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 | Следующая страница реферата