Студенческий сайт КФУ - ex ТНУ » Учебный раздел » Учебные файлы »ПРОГРАММИРОВАНИЕ

Архитектура языка Java

Тип: курсовая работа
Категория: ПРОГРАММИРОВАНИЕ
Скачать
Купить
Архитектура Java и Java RMI, их основные свойства, базовая система и элементы. Безопасность и виртуальная Java-машина. Интерфейс Java API. Пример использования приложения RMI. Работа с программой "Calculator". Универсальность, портативность платформ.
Краткое сожержание материала:

Размещено на

СОДЕРЖАНИЕ

  • РЕФЕРАТ
    • ТЕХНИЧЕСКОЕ ЗАДАНИЕ
      • ВВЕДЕНИЕ
      • 1 АРХИТЕКТУРА ЯЗЫКА JAVA
      • 1.1 Java - объектно-ориентированный язык
      • 1.2 Безопасность и виртуальная Java-машина
      • 1.3 Интерфейс Java API
      • 2. ПРАКТИЧЕСКОЕ ЗАДАНИЕ
      • 2.1. Пример использования приложения RMI
      • 2.2 Работа с программой «Calculator»
      • 3 Выводы
      • Список литературы
      • ТЕХНИЧЕСКОЕ ЗАДАНИЕ
      • Ознакомиться с архитектурой java и java RMI. Какими характеристиками обладает этот язык, его основные свойства, базовая система и основные элементы. Какие основные архитектурные элементы имеет технология java RMI, их назначение и реализация. Кроме того, в курсовом проекте необходимо установить jdk1.3.1_19 и привести простой пример приложения Java RMI.
      • ВВЕДЕНИЕ

Java -- объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems (в последующем приобретённой компанией Oracle). Приложения Java обычно компилируются в специальный байт-код, поэтому они могут работать на любой виртуальной Java-машине (JVM) вне зависимости от компьютерной архитектуры. Программное обеспечение Java позволяет играть в сетевые игры, общаться с людьми по всему миру, подсчитывать проценты по ипотечным кредитам и просматривать трехмерные изображения. Приложения, которые написаны на языке программирования Java и доступ к которым можно получить из браузера, называются "апплетами". Крупные компании также используют апплеты Java для интранет-приложений и для систем электронной коммерции.

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

· Java используется на 1.1 млрд. настольных ПК

· Ежегодно регистрируется 930 миллионов загрузок среды выполнения Java

· Java используется в 3 млрд. мобильных телефонов

· Ежегодно поставляется в 31 раз больше телефонов Java, чем телефонов Apple и Android вместе взятых

· Java используется в 100% всех проигрывателей Blu-ray

· Ежегодно выпускается 1.4 млрд. платформ Java Card

· На основе технологий Java работают приставки, принтеры, веб-камеры, игры, навигационные системы для автомобилей, терминалы для проведения лотерей, медицинские устройства, автоматы для оплаты парковки и многое другое.

RMI (англ. Remote Method Invocation) -- программный интерфейс вызова удаленных методов в языке Java.

Интерфейсы Java не содержат исполняемого кода. RMI поддерживает два класса, реализующих один и тот же интерфейс. Первый класс является реализацией поведения и исполняется на сервере. Второй класс работает как промежуточный интерфейс для удаленной службы и исполняется на клиентской машине. Это показано на следующей диаграмме. Клиентская программа вызывает методы прокси-объекта, RMI передает запрос на удаленную JVM и направляет его в реализацию объекта. Любые возвращаемые из реализации значения передаются назад в прокси-объект и затем в клиентскую программу.

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

Одной из центральных и уникальных возможностей RMI является его способность "скачивать" байткоды (или просто код) класса объекта, если класс не определен в виртуальной машине получателя. Типы и поведение объекта, ранее доступного только на виртуальной машине сервера, может быть перекачан на другую, возможно, удаленную виртуальную машину. RMI передает объекты по их действительному типу, так что поведение таких объектов не меняется, когда они посылаются на другую виртуальную машину. Это позволяет новым типам быть введенным на удаленной виртуальной машине, что динамически расширяет поведение приложения. Вычислитель, являющийся примером в этой главе, использует способность RMI вводить новое поведение в распределенную программу.

1. АРХИТЕКТУРА ЯЗЫКА JAVA

1.1 Java - объектно-ориентированный язык

Архитектура RMI основана на одном важном принципе: определение поведения и реализация этого поведения считаются разными понятиями. RMI дает возможность разделить и выполнить на разных JVM код, определяющий поведение, и код, реализующий поведение.

Это прекрасно соответствует требованиям распределенных систем, в которых клиенты знают об определениях служб, а серверы предоставляют эти службы.

Конкретно в RMI определение удаленной службы кодируется при помощи интерфейса Java. Реализация удаленной службы кодируется в классе. Таким образом, ключ к пониманию RMI - помнить, что интерфейсы определяют поведение, а классы определяют реализацию.

Язык Java -- и компилируемый, и интерпретируемый.

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

Сначала программист компилирует исходный текст программы на Java в байт- коды, используемые компилятором языка. Байт-коды являются двоичными и не зависят от архитектуры компьютера (или от платформы -- что не отличается по сути). Байт-коды -- не законченное приложение, они интерпретируются в среде выполнения Java-nporpaMM (Java runtime environment): обычно в роли среды выступает браузер. Поскольку каждая среда выполнения создается для конкретной платформы, законченный программный продукт будет работать на этой платформе.

Такой подход удобен для разработчиков, он означает, что Java-код остается неизменным и не зависит от того, для какой платформы код предназначается или в какой системе разрабатывается. Можно написать и скомпилировать Java-апплет в системе UNIX и встроить его в свою Web-страницу. Пользователи разных систем, имеющих отличающиеся среды, могут обратиться к этому новому апплету. При этом каждый пользователь должен использовать Java-совместимый браузер, и неважно, на чем он работает: на IBM, HP или Macintosh. При использовании Java нужно сопровождать только один исходный код, выполняющийся на множестве платформ. Достаточно один раз скомпилировать программу для того, чтобы она работала в разных системах.

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

Этот недостаток преодолен в J IT-компиляторах (Just-in-Time -- "своевременный"). JIT-компилятор транслирует методы Java в машинно-зависимый код для используемой платформы. Без такого транслятора методы не преобразуются в машинно-зависимый код, а остаются в виде исходных машинно- независимых байт-кодов, которые интерпретируются на любой платформе виртуальной машиной Java. Java-приложения переносимы, а сам JIT- компилятор не может быть переносимым, поскольку он генерирует машинно-зависимый код для конкретной платформы аналогично тому, как для каждой новой платформы требуется другая версия операционной системы. В настоящее время браузеры Netscape Navigator 3.0 и Microsoft Internet Explorer 3.0 используют JIT-компиляторы.

Почему такая комбинация методов компиляции и интерпретации является достоинством?Она обеспечивает защищенность и устойчивость. Среда выполнения Java имеет элемент, называемый компоновщиком (linker), который проверяет данные, поступающие в компьютер, и определяет, не содержат ли они потенциально опасные файлы (защищенность) или файлы, способные вызвать сбой в работе вашего компьютера (устойчивость).

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

Попросту говоря, языки объектно-ориентированного программирования (ООП) описывают взаимодействия между объектами данных. Многие языки ООП поддерживают множественное наследование, которое иногда приводит к неоднозначности и ненужным усложнениям. В языке Java эта возможность отсутствует и поддерживается только простое наследование. Это означает, что каждый класс в отдельный момент времени может порождат...

Другие файлы:

Ассемблер для платформы Java
Архитектура уровня команд платформы Java, формат файла класса Java. Компилятор ассемблероподобного языка, позволяющий создавать файлы классов, коррект...

Основы языка программирования Java
История создания языка Java. Основные принципы объектно-ориентированного программирования. Структура, особенности синтаксиса и примеры прикладных возм...

Обработка текстовой информации средством языка JAVA
Создание языка программирования с помощью приложения "Java". История названия и эмблемы Java. Обзор многообразия современных текстовых редакторов. Обр...

Технология Java. Наиболее полное руководство
Книга посвящена описанию принципиально нового языка программирования Java, предложенного компанией Sun Microsystems. Java - это объектно - ориентирова...

Язык программирования Java
Книга, выпускаемая по лицензии издательства Addison - Wesley, является каноническим описанием языка программирования Java. Структура книги и стиль изл...