Навигация
Главная
Новости
Скачать
Шаблоны сайтов
Партнеры

Графика
Adobe Photoshop

Программирование
Теория алгоритмов
Code Snippets
Все о PHP
Visual C++
WIN32 API
Delphi
ASP

Java
VBScript
CGI
VRML
PERL
HTML
XML

Сети
Cisco
IP-сети
Сетевые термины

IT
UNIX-системы
Хостинг

Операционные системы
Windows
Linux

Поисковая оптимизация
Основы SEO
Мастер-класс SEO
Анализ трафика
Google AdSense

В перерыве
Интересное
Поиск работы
Немного юмора
Материалы
Публикации


RSS / РСС
.
Минутку внимания!
Независимость от архитектуры
Компилятор генерирует объектный файл, формат которого не зависит от архитектуры компьютера. В данном случае скомпилированная программа может выполняться на любых процессорах под управлением системы выполнения программ языка 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.

В наши дни инструментальный набор для создания графического пользовательского интерфейса полностью переработан и больше не зависит от интерфейса пользователя.


Для наших любимых посетителей:
Мы рекомендуем вам ознакомиться со следующими материалами на тему:
Информация для интересующихся веб-дизайном и программированием:
Right one

Online from 2006-2008 #We are the CoDeRs! Наши статьи и новости можно свободно перепечатывать при указании обратной ссылки на источник Связь с админом