Среда, 18.06.2025, 09:15
Приветствую Вас Гость | RSS
Меню сайта
fff
  • Индексация
  • Девочки
    Форма входа
    Категории раздела
    Теория алгоритмов [3]
    Теория алгоритмов
    Code Snippets [1]
    Code Snippets
    Все о PHP [20]
    Все о PHP
    Visual C++ [13]
    Visual C++
    WIN32 API [7]
    WIN32 API
    Delphi [72]
    Delphi
    ASP [2]
    ASP
    Java [67]
    Java
    VBScript [6]
    VBScript
    CGI [2]
    CGI
    VRML [2]
    VRML
    PERL [9]
    PERL
    HTML [4]
    HTML
    XML [10]
    XML
    Архив записей

    Статьи по Оптимизации

    ПРОГРАММИРОВАНИЕ! СОЗДАНИЕ САЙТОВ И ИХ ОПТИМИЗАЦИЯ

    Главная » Статьи » Программирование » 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.

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

    .

    Категория: Java | Добавил: Merlin (07.12.2009)
    Просмотров: 391 | Рейтинг: 0.0/0
    Всего комментариев: 0
    Имя *:
    Email *:
    Код *: