Технология Java

👁 137 просмотров
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Большая статья про технологии Java, которая будет досконально подробно описывать каждую технологию, со вставками из Wikipedia и других ресурсов. Статья не будет содержать текст автора, а будет ограничиваться техническими терминами и схемами, которые будут приведены под разным углом для лучшего понимания и будет дополняться по мере возможности.

Общая иерархия платформ

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

Общие платформы

Java

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

JDK

JDK(Java Development Kit) — бесплатно распространяемый компанией Oracle Corporation (ранее Sun Microsystems) комплект разработчика приложений на языке Java, включающий в себя компилятор Java (javac), стандартные библиотеки классов Java, примеры, документацию, различные утилиты и исполнительную систему Java (JRE). В состав JDK не входит интегрированная среда разработки на Java, поэтому разработчик, использующий только JDK, вынужден использовать внешний текстовый редактор и компилировать свои программы, используя утилиты командной строки.

JRE

JRE(Java Runtime Environment) — среда выполнения для программ на Java, минимальная реализация виртуальной машины, необходимая для исполнения Java-приложений, без компилятора и других средств разработки. Состоит из виртуальной машины — Java Virtual Machine — и библиотеки Java-классов. JRE распространяется свободно и для большинства платформ может быть загружена с сайта Oracle.Средства разработки вместе с JRE входят в JDK.

JVM

JVM(Java Virtual Machine) — виртуальная машина Java — основная часть исполняющей системы Java, так называемой Java Runtime Environment (JRE). Виртуальная машина Java исполняет байт-код Java, предварительно созданный из исходного текста Java-программы компилятором Java (javac). JVM может также использоваться для выполнения программ, написанных на других языках программирования. Например, исходный код на языке Ada может быть откомпилирован в байт-код Java, который затем может выполниться с помощью JVM. JVM является ключевым компонентом платформы Java. Так как виртуальные машины Java доступны для многих аппаратных и программных платформ, Java может рассматриваться и как связующее программное обеспечение, и как самостоятельная платформа. Использование одного байт-кода для многих платформ позволяет описать Java как «скомпилировано однажды, запускается везде» (compile once, run anywhere).Виртуальные машины Java обычно содержат Интерпретатор байт-кода, однако, для повышения производительности во многих машинах также применяется JIT-компиляция часто исполняемых фрагментов байт-кода в машинный код.

KVM

KVM — (Kylobyte Virtual Machine) — это виртуальная машина Java разработанная фирмой Sun Microsystems и соответствующая спецификации JVM. KVM была написана с нуля на языке программирования C. Данная виртуальная машина была разработана специально для небольших устройств имеющих ограниченный объём оперативной памяти. Поддерживается ограниченный набор возможностей обычной JVM. Например, KVM может не поддерживать операции с плавающей точкой и финализацию объектов. Стандарт CLDC определяет использование KVM. Буква ‘K’ в начале названия KVM указывает на то, что данная JVM работает с килобайтами памяти, а не с мегабайтами.

Java Card RE

Java Card RE — Java Card Runtime Environment, среда ыполнения апплетов, которые написаны для программного интерфейся Java Card. RE включает в себя реализацию виртуальной машины Java Card, классов API Java Card и служб поддержки времени выполнения, таких как выбор и отмена выбора апплетов.

Java Card VM

Java Card Virtual Machine — Предоставляет набор инструкций виртуальной машины Java-карты (VM), поддерживаемого подмножеством языка Java и форматов файлов, используемых для установки апплетов и библиотек в устройства с поддержкой технологии Java Card.

Термины из раздела

Транслятор — программа или техническое средство, выполняющее трансляцию программы;

Трансляция программы — преобразование программы, представленной на одном из языков программирования, в объектный файл. Транслятор обычно выполняет также диагностику ошибок, формирует словари идентификаторов, выдаёт для печати текст программы и т. д.;

Объектный файл  — файл с промежуточным представлением отдельного модуля программы, полученный в результате обработки исходного кода компилятором. Объектный файл содержит в себе особым образом подготовленный код (часто называемый двоичным или бинарным), который может быть объединён с другими объектными файлами при помощи редактора связей (компоновщика) для получения готового исполнимого модуля, либо библиотеки;

Компоновщик (также редактор связей, от англ. link editor, linker) — инструментальная программа, которая производит компоновку («линковку»): принимает на вход один или несколько объектных модулей и собирает по ним исполнимый модуль;

Интерпретатор — программа (разновидность транслятора), выполняющая интерпретацию программы;

Интерпретация — пооператорный (покомандный, построчный) анализ, обработка и тут же выполнение исходной программы или запроса (в отличие от компиляции, при которой программа транслируется без её выполнения);

Компилятор — программа или техническое средство, выполняющее компиляцию;

Компиляция — трансляция программы, составленной на исходном языке высокого уровня, в эквивалентную программу на низкоуровневом языке, близком машинному коду (абсолютный код, объектный файл, иногда на язык ассемблера), выполняемая компилятором;

 

Программные интерфейсы(API)

Java EE

Java EE — (Java Platform, Enterprise Edition, до версии 5.0 — Java 2 Enterprise Edition или J2EE) — набор спецификаций и соответствующей документации для языка Java, описывающей архитектуру серверной платформы для задач средних и крупных предприятий.

Спецификации детализированы настолько, чтобы обеспечить переносимость программ с одной реализации платформы на другую. Основная цель спецификаций — обеспечить масштабируемость приложений и целостность данных во время работы системы. JEE во многом ориентирована на использование её через веб как в интернете, так и в локальных сетях. Вся спецификация создаётся и утверждается через JCP (Java Community Process) в рамках инициативы Sun Microsystems Inc.

Java SE

Java SE — (Java Platform, Standard Edition, ранее Java 2 Standard Edition или J2SE) — стандартная версия платформы Java 2, предназначенная для создания и исполнения апплетов и приложений, рассчитанных на индивидуальное пользование или на использование в масштабах малого предприятия. Не включает в себя многие возможности, предоставляемые более мощной и расширенной платформой Java 2 Enterprise Edition (J2EE), рассчитанной на создание коммерческих приложений масштаба крупных и средних предприятий.

Java SE Embedded

Java SE Embedded — (Oracle Java Standard Edition Embedded) позволяет пользователям разрабатывать высокофункциональные, надежные и портативные приложения для самых современных встроенных систем. Гибкость платформы Java позволяет пользователям разрабатывать безопасные, инновационные продукты, одновременно повышая экономию средств и ускоряя время выхода на рынок. Oracle Java SE Embedded представляет собой платформу разработки для встроенных устройств, которая обеспечивает лучшую в отрасли надежность, производительность, пропускную способность, безопасность и кросс-платформенную поддержку. Java SE Embedded выполняет такую же роль, что и Java ME Embeded в иерархии, но предназначен для более производительных встраиваемых систем.

Java ME

Java ME — (Java Platform, Micro Edition, ранее — Java 2 Micro Edition, J2ME) — подмножество платформы Java для устройств, ограниченных в ресурсах, например: сотовых телефонов, карманных персональных компьютеров, ресиверов цифрового телевидения, проигрывателей дисков Blu-ray.

Java ME Embedded

Java ME Embedded — это полноценный Java runtime, оптимизированный для устройств с ARM архитектурой и систем с ограниченными аппаратными возможностями. Java ME показывает себя во всей красе на платформах со слабыми вычислительными мощностями и небольшими ресурсами оперативной памяти, которые работают с сетевыми сервисами. Например, такими, как беспроводные модули, модули позиционирования, «умные» счетчики ресурсов, датчики мониторинга окружающей среды, вендинг-машины, телемедицина и, конечно, «умные» дома.

Java TV

Java TV — это технология на основе Java ME, которая обеспечивает эффективное, надежное и простое решение для разработки приложений Java, которые работают в телевизоре и приставках. Используя среду исполнения Java TV, разработчики могут легко создавать приложения, такие как электронные программные гиды (EPG), клиенты Video-on-Demand (VOD), игры и образовательные приложения, приложения для доступа к интернет-данным (например, погода, тикеры новостей, социальные сети), а на большинстве названий дисков Blu-ray — пользовательский интерфейс и бонусный контент.

Java Card

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

Основное назначение продукта, как следует из названия, — применение в смарткартах. В связи с этим основной упор был сделан на поддержку стандартных криптоалгоритмов.

Java Card дает возможность безопасным образом устанавливать и исполнять небольшие Java-приложения (апплеты) на смарт-картах и других устройствах с весьма ограниченным объёмом памяти. Эта платформа позволяет поставщику программировать устройства и делать их адаптированными под конкретное применение. Java Card широко используется в SIM-картах и банкоматах.

 

Компоненты программного интерфейса Java SE

Java 2D

Java 2D API представляет собой набор классов для расширенной 2D-графики и изображений. Он охватывает линейное воспроизведение, текст и изображения в единой всеобъемлющей модели. API обеспечивает широкую поддержку компоновки изображений и изображений альфа-каналов, набор классов для обеспечения точного определения и преобразования цветового пространства и богатый набор ориентированных на дисплей операторов визуализации. Эти классы предоставляются в виде дополнений к пакетам java.awt и java.awt.image

Java 3D

Java 3D — это высокоуровневый API для 3D-графики, который реализован поверх низкоуровневого API, такого как OpenGL и DirectX. Java 3D основан на так называемом scene graph , который подчеркивает дизайн сцены и содержит геометрию, преобразования, освещение, материал, трансформирование, текстуры и т. д. Вместо рендеринга низкого уровня.

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