ПРОГРАММИРОВАНИЕ! СОЗДАНИЕ САЙТОВ И ИХ ОПТИМИЗАЦИЯ
Главная » Статьи » Программирование » Java |
Независимость от архитектуры Компилятор генерирует объектный файл, формат которого не зависит от архитектуры компьютера. В данном случае скомпилированная программа может выполняться на любых процессорах под управлением системы выполнения программ языка Java. Для этого компилятор языка Java генерирует команды байт-кода, не зависящие от конкретной архитектуры компьютера. Байт-код разработан таким образом, чтобы на любой машине его можно было легко интерпретировать либо на лету перевести в машиннозависимый код. Но эту идею нельзя назвать революционной. Еще в 70-е годы в системе реализации языка Pascal, разработанной Никлаусом Виртом (Niclaus Wirth) и в системе UCSD Pascal применялась та же самая технология. Использование байт-кодов дает большой выигрыш при выполнении программы (хотя в некоторых случаях синхронная компиляция его компенсирует). Разработчики языка Java прекрасно справились с разработкой набора команд байт-кода, которые отлично работают на большинстве современных компьютеров, легко транслируясь в реальные машинные команды. Машиннонезависимый В отличие от языков С и С++, в спецификации Java нет аспектов, зависящих от системы реализации. И размер основных типов данных и арифметические операции над ними имеют точное определение. К примеру, тип int в языке Java всегда означает 32-разрядное целое число. В языках С и С++ тип int может означать как 16-разрядное, так и 32-разрядное целое число произвольного размера в зависимости от разработчика конкретного компилятора. Единственное ограничение - размер типа int не может быть меньше размера типа short int и больше размера типа long int. Подобный фиксированный размер числовых типов позволяет избежать многих неприятностей, которые связаны с выполнением программ на разных компьютерах. Бинарные данные хранятся и передаются в фиксированном формате, что также позволяет избежать недоразумений, связанных с разным порядком записи байтов на разных платформах (конфликт типа "big endian/little endian"). Строки хранятся в стандартном формате Unicode. Библиотеки, представляющие собой часть системы, определяют машиннонезависимый интерфейс. К примеру, в языке предусмотрен абстрактный класс Window и его реализация для операционных систем UNIX, Windows и Macintosh. Каждый из программистов, кто когда-либо пытался написать программу, которая одинаково хорошо работала бы под управлением операционных систем Windows, Macintosh и десятков разновидностей системы UNIX, знает, что это практически нереализуемая задача. Версия Java 1.0 предприняла попытку решить эту проблему, предоставив простой инструментарный набор, адаптирующий обычные элементы пользовательского интерфейса к большому количеству программных платформ. Во многих приложениях машинная независимость намного важнее изысканности графического интерфейса. Именно эти приложения выиграли от появления версии Java 1.0. В наши дни инструментальный набор для создания графического пользовательского интерфейса полностью переработан и больше не зависит от интерфейса пользователя. . | |
Просмотров: 391 | Рейтинг: 0.0/0 |
Всего комментариев: 0 | |