Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопросы экзамена ПОКС 2013.docx
Скачиваний:
5
Добавлен:
01.05.2025
Размер:
1.43 Mб
Скачать

30. Язык Java программирования в сети Internet

Язык Java по синтаксису близок к C++, однако имеет существенные особенности

• Не поддерживается перегрузка операторов (вследствие трудности поддержки и относительно редкого использования на практике).

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

• Исключены указатели, являющиеся частой причиной труднолокализируемых ошибок в C++.

Метод достижения машинной независимости (переносимости) заключается в трансляции исходного Java-текста в байт-код (поток команд воображаемого процессора, известного как JVM - JavaVirtualMachine), пересылке байт-кода по Сети и последующей его интерпретации (существуют и компиляторы) на конкретной ЭВМ. В настоящее время Java переносим между компьютерами с операционными средами Solaris, Windows’9x, Windows’NT, OS/2 и ОС для ПЭВМ AppleMacintosh, поддерживается броузерами фирм Netscape и Microsoft.

Java одновременно является и языком и набором библиотек классов, специально разработанных для применения в InterNet. Мощь языка Java основана на сочетании четырех его характеристик:

1. Сетевой осведомленности (networkawareness) - заключается в том, что каждое решение при разработке языка принималось таким образом, чтобы предоставить возможность Java-приложениям обладать сетевыми характеристиками.

2. Переносимости - возможность исполнения Java-программ на различных аппаратных и операционных платформах.

3. Безопасности - достигается путем сегментации памяти, выгрузки из Сети только классов Java (а не ‘родных’, зависящих от конкретной ОС, методов) и фильтрования всех потенциально опасных требований доступа к системным ресурсам через специальный класс SecurityManager.

4. Объектной ориентации - путем разграничения доступа к объектам путем применения концепций наследования и инкапсуляции.

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

Пример. Ниже приведена часть HTML-кода с вызовом апплета MY_APPLET (в данном случае броузер выделит для исполнения апплету область экрана размером 200× 100 пиксел и присвоит формальному параметру YourBorn апплета значение 1967)

. . .

<title>Пример использования апплета в HTML</title>

<body>

<applet code="my_applet.class" width=200 height=100>

<param name=YourBorn value="1967">

</applet>

</body>

. . .

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

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