1.2 Основные особенности (часть 2)

1.2.7 Мобильность

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

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

Платформа, независимая на вторичном уровне означает, что откомпилированный двоичный файл может быть выполнен на различных платформах, не перетранслируя код, если они имеют Виртуальную Машину Java, которая функционирует как интерпретатор.

Рисунок 1.1: Компилирование программ традиционным способом


Для программ, которые мы записываем в С и C++ или на любом другом языке, компилятор преобразует набор команды в машинный код или команды процессора. Эти команды являются специальными для нашего процессора. В результате, если мы хотим использовать этот код в некоторой другой системе, мы должны найти компилятор для этой системы, и мы должны компилировать код еще раз так, чтобы мы имели машинный код, определенный для этой машины. Рисунок 1.2 дает нам ясное представление того, как программы Java могут быть выполнены на различных машинах.

Рисунок 1.2: Компилирование кода в Java


Когда мы посмотрим на среду развития Java, мы увидим разделение на две части: Компилятор Java и Интерпретатор Java. В отличие от С и C++, компилятор Java преобразует исходный текст в байт-коды, которые являются машинно-независимыми. Байт-коды - это только части команд Java, разрезанные на байты, которые могут быть декодированы любым процессором.

Интерпретатор Java, также именуемый как JVM (Виртуальная Машина Java) или Java Runtime Interpreter выполняет байт-коды Java. Интерпретатор Java является частью среды разработки. Скоро будет время, когда каждая операционная система будет иметь в своём составе JVM.

1.2.8 Интерпретирующее выполнение

Java - это интерпретируемый язык. Это означает, что каждая команда оттранслирована в машинный код во время выполнения, а не в течение трансляции.

Это качество позволяет реализовывать нейтралитет платформы:
"WORA", or Write Once Run Anywhere
А также позволяет перезаписывать и изменять программу, во время её выполнения.
Трансляция java и процедура выполнения включают следующее:

Различные исходные файлы обрабатываются компилятором javac, для получения множество файлов класса. Эти файлы содержат байт-код, который не зависит от архитектуры и платформы исполняющей его.
Файлы класса Java могут быть выполнены со справкой загрузчика (интерпретатора), утилиты по имени java, которая функционирует, чтобы транслировать универсальные байт-коды Java в машинные выполняемые коды. Никакой компоновщик при этом не требуется.

Из-за его интерпретирующей процедуры выполнения, Java имеет следующие преимущества:
■ Файлы класса Java могут быть выполнены на любой платформе при условии, что данная платформа имеет надлежащую утилиту загрузчика java.
■ Файлы класса Java делают более эффективное использование памяти, нежели отдельные (часто большие) выполняемые программы, потому что файлы класса могут быть связаны загрузчиком на основании управляемого запроса.

1.2.9 Высокая Эффективность

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

1.2.10 Многопоточность

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

Потоки иногда также называют легкими процессами или контекстами выполнения.
Потоки - это основной краеугольный камень Java. Библиотека Java обеспечивает класс потока, который содержит обширную коллекцию методов запуска, выполнения, и остановки потока, а также проверки его состояния.

1.2.11 Динамичность

Java - динамичный адаптированный язык программирования. Программы Java несут много информации во время выполнения, для проверки правильности обращения к объектам во время выполнения. Это свойство позволяет динамически безопасно связать код.

назад к оглавлению вперед

Rus. Open Source company, г. Саратов
ул. Орджоникидзе, 156, офис 203
тел: 8 (8452) 57-84-41
e-mail: info@rus_opensource.com

Главная | Обзоры | О разном
Карта сайта

Учебная литература:

Введение в Linux
Основы JAVA
Архивы

© 2013 opensourcerules.net