Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

JAVA applets, апплеты

Красивое решение предложено фирмой Sun – сторонниками языка JAVA. На разных компьютерах было предложено реализовать некоторую виртуальную JAVA-машину, то есть интерпретатор JAVA кода. Заметим, в скобках, что задача интерпретатора состоит в чтении и выполнении команд в JAVA-коде. При этом сама JAVA-машина написана в командах текущего процессора. Такое решение позволяет распространять программы на JAVA, которые будет интерпретировать JAVA-машина, встроенная в некоторое приложение. Эти программы называют JAVA-апплетами. В Windows интерпретатор JAVA-кода встроен в Internet Explorer.

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

Любая программа, написанная, например на С++, получает доступ ко всем ресурсам компьютера: его файловой системе, оперативной памяти. Поскольку Java-программы выполняются виртуальной машиной, разработчики виртуальной машины определяют параметры доступа Java-программ к ресурсам компьютера. Окружение, в котором работает Java-программа, называется оболочкой времени выполнения (runtime environment). Доступ к файловой системе имеет только виртуальная машина, а Java-программа – только косвенно, поэтому она не может удалить или записать файл на диск.

Попытаемся проиллюстрировать сказанное. Операционная система выделяет работающему приложению одну или несколько страниц оперативной памяти (по требованию приложения). Рассматриваемое работающее приложение – виртуальная машина. А уже эта программа моделирует с помощью своих внутренних данных оперативную память. Например, оперативная память может быть представлена в виде строковой переменной П. Поэтому, если Java – программа создает переменную, то это – часть переменной П. Виртуальная машина следит за тем, чтобы Java-приложение не выходило за рамки отведенной ему памяти. Работа с файлами не запрещена в Java апплетах, но это на самом деле не работа с файловой системой компьютера, а работа с программой, моделирующей файловую систему. Например, диск может быть представлен другой строковой переменной Д. После закрытия виртуальной машины, вся выделенная ей оперативная память освобождается.

Механизмы организации работы с оперативной памятью или с диском в виртуальной машине несколько напоминают традиционные решения, принятые в операционных системах.

Интересно, что фирма Microsoft пошла по этому же пути, создавая в настоящее время.Net-машину, но об этом – позже.

Не путайте JAVA-appletts, вставляемые в html-код при помощи тэга <applet>, с программами на Jscript, содержащимися в тэге-контейнере <script>! Программа на JScript передается по сети в исходном виде и выполняется браузером, при этом команды (операторы) программы переводятся в машинный код компьютера клиента и дополняют команды браузера. Программа на Jscript выполняются в адресном пространстве браузера, с его полномочиями, поэтому она имеет доступ ко всем ресурсам компьютера, к которым имеет доступ браузер, в частности, к файловой системе.

При рассмотрении технологии JAVA – applets следует обратить внимание на важное понятие: динамическое связывание.

Так как Java-код интерпретируется виртуальной машиной, то есть отсутствует этап построителя задачи, то задача собирается из фрагментов в процессе выполнения (интерпретации), это позволяет загружать по сети только те фрагменты, которые нужны, что несколько экономит передачи по сети. Механизм, обеспечивающий такую сборку, называется "динамическим связыванием" (dynamic binding).

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

<== предыдущая лекция | следующая лекция ==>
Введение. Тема 4. Обзор методов интеграции | Файлы (буферы) общего доступа
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 275; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.