Здравствуйте дорогие читатели!
В сегодняшнем 3 номере рассылки Java programming я хотел бы подробнее рассмотреть затронутую ранее машинно-независимость Java и ответить на ваши вопросы (точнее вопрос…). Приступим.
Мобильность Java
Если вы программировали на С, то наверняка слышали что он является мобильным, т.е. имеется возможность переноса программ на различные платформы. Создание приложений работающих на разных платформах - непростая задача.
Выделим основные проблемы при переносе программ:
- несовместимость программных интерфейсов различных операционных систем и графических оболочек, реализующих пользовательский интерфейс.
- программа, подготовленная для одной платформы, не будет работать на другой. Пример, процессор Intel и Alpha.
- размер области памяти, занимаемой переменными стандартных типов, различный на разных платформах.
Т.е. для того чтобы перенести программу С из одной среды в среду другой операционной системы, программист вносит необходимые изменения в исходные тексты приложения.
В Java эти проблемы решены.
Программа на языке Java компилируется в двоичный модуль, состоящий из команд виртуального процессора Java. Такой модуль содержит байт-код, предназначенный для выполнения Java-интерпретатором. Разумеется, на каждой платформе используется свой интерпретатор. Если ваше приложение Java должно работать на нескольких платформах, нет необходимости компилировать его исходные тексты несколько раз. Вы можете откомпилировать и отладить приложение Java на одной, наиболее удобной для вас платформе. В результате вы получите байт-код, пригодный для любой платформы, где есть виртуальная машина Java.
Как быть с программным интерфейсом?
Приложение Java не обращается напрямую к интерфейсу операционной системы. Вместо этого оно пользуется готовыми стандартными библиотеками классов, содержащими все необходимое для организации пользовательского интерфейса. Внутренняя реализация библиотек классов, разумеется, зависит от платформы.
Что касается типов, то в языке Java все базовые типы данных имеют фиксированную разрядность, которая не зависит от платформы.
Ваши вопросы
Я так и не поняла чем апплет отличается от простого приложения. Разъясните, пожалуйста.
Tanya.
Приложения это самостоятельные программы, а апплеты это программы работающие под управлением других программ, обычно под управлением Web-броузеров. Помимо этого на апплеты налагаются некоторые ограничения, т.е. ограничивается доступ к ресурсам из апплета. Это делается из соображения безопасности.
Но о безопасности поговорим в следующем номере, в котором мы рассмотрим жёсткую модель защиты.
Жду вопросов и предложений.
Юрий Ладик.
Подписаться на эту рассылку можно тут /subs/subs.html