Что такое pure java
Pure Java
Смотреть что такое «Pure Java» в других словарях:
Java performance — Programs written in Java have had a reputation for being slower and requiring more memory than those written in natively compiled languages such as C or C++ (see e.g. [cite web url=http://www.jelovic.com/articles/why java is slow.htm title=Why… … Wikipedia
Java Native Interface — JNI redirects here. For the city in the province of Buenos Aires, see Junín, Buenos Aires. The Java Native Interface (JNI) is a programming framework that enables Java code running in a Java Virtual Machine (JVM) to call and to be called[1] by… … Wikipedia
Java Native Access — Infobox Software name = Java Native Access caption = developer = latest release version = 3.0.5 latest release date = release date|2008|08|14 latest preview version = latest preview date = operating system = Cross platform size = 606.9 KB… … Wikipedia
Java Advanced Imaging — Infobox Software name = Java Advanced Imaging caption = collapsible = developer = Sun Microsystems status = Active latest release version = 1.1 latest release date = latest preview version = latest preview date = operating system = Cross platform … Wikipedia
Java Modeling Language — Le Java Modeling Language (JML) est un langage de spécification pour Java, il est basé sur le paradigme de la programmation par contrat. Il utilise la logique de Hoare, les pré et postconditions ainsi que les invariants. Les spécifications sont… … Wikipédia en Français
Java (programming language) — infobox programming language name = Java paradigm = Object oriented, structured, imperative year = 1995 designer = Sun Microsystems latest release version = Java Standard Edition 6 (1.6.0) latest release date = latest test version = latest test… … Wikipedia
Java syntax — The syntax of the Java programming language is a set of rules that defines how a Java program is written and interpreted. Data structuresAlthough the language has special syntax for them, arrays and strings are not primitive types: they are… … Wikipedia
Pure Land Buddhism — Amitābha Buddha and his attendant bodhisattvas Avalokiteśvara (right) and Mahāsthāmaprāpta (left) … Wikipedia
REST API на Java без фреймворков
Перевод статьи подготовлен специально для студентов курса «Разработчик Java».
В экосистеме Java есть много фреймворков и библиотек. Хотя и не так много, как в JavaScript, но они и не устаревают так быстро. Тем не менее, это заставило меня задуматься о том, что мы уже забыли, как писать приложения без фреймворков.
Вы можете сказать, что Spring — это стандарт и зачем изобретать велосипед? А Spark — это хороший удобный REST-фреймворк. Или Light-rest-4jis. И я скажу, что вы, конечно, правы.
Но вместе с фреймворком, помимо готовой функциональности, вы получаете много магии, сложности с изучением, дополнительные функции, которые вы, скорее всего, не будете использовать, а также баги. И чем больше стороннего кода в вашем сервисе, тем больше вероятность того, что у вас будут ошибки.
Сообщество open source очень активное, и есть большая вероятность, что ошибки в фреймворке будут быстро исправлены. Но все же, я хотел бы призвать вас подумать, действительно ли вам нужен фреймворк. Если у вас небольшой сервис или консольное приложение, возможно, вы сможете обойтись без него.
Что вы можете получить (или потерять), используя чистый Java-код? Подумайте об этом:
Когда я начал писать этот код, то часто сталкивался с ситуациями, когда отсутствовал функционал, который есть в Spring из коробки. В эти моменты, вместо того, чтобы взять Spring, надо было переосмыслить и разработать все самостоятельно.
Я понял, что для решения реальных бизнес-задач я, все же, предпочел бы использовать Spring, а не изобретать велосипед. Тем не менее, я считаю, что это упражнение было довольно интересным опытом.
Начинаем
Я буду описывать каждый шаг, но не всегда буду приводить полный исходный код. Полный код вы можете посмотреть в отдельных ветках git-репозитория.
и Jackson для JSON-сериализации
Для упрощения POJO-классов будем использовать Lombok:
и vavr для средств функционального программирования
Исходный код в ветке step-1.
Первый эндпоинт
Веб-сервер запускается на порту 8000 и предоставляет эндпоинт, который просто возвращает Hello. Это можно проверить, например, используя curl:
Исходный код в ветке step-2.
Поддержка разных HTTP-методов
Наш первый эндпоинт работает отлично, но вы можете заметить, что независимо от того, какой HTTP-метод использовать, он всегда отвечает одинаково.
Первое, что нужно сделать, это добавить код для различения методов, например:
Попробуйте еще раз такой запрос:
ответ будет примерно таким:
Исходный код в ветке step-3.
Парсинг параметров запроса
Парсинг параметров запроса — это еще одна «функция», которую нам нужно реализовать самостоятельно.
Мы могли бы распарсить параметры следующим образом:
и использовать, как показано ниже:
Полный пример в ветке step-4.
Аналогично, если мы хотим использовать параметры в path. Например:
Чтобы получить элемент по нам нужно распарсить url самостоятельно. Это становится громоздким.
Безопасность
Часто нам нужно защитить доступ к некоторым эндпоинтам. Например, это можно сделать, используя базовую аутентификацию (basic authentication).
Для каждого HttpContext мы можем установить аутентификатор, как показано ниже:
Значение “myrealm” в конструкторе BasicAuthenticator — это имя realm. Realm — это виртуальное имя, которое может быть использовано для разделения областей аутентификации.
Подробнее об этом можно прочитать в RFC 1945.
Теперь вы можете вызвать этот защищенный эндпоинт, добавив заголовок Authorization :
Для аутентификации в реальном приложении вы, вероятно, получите учетные данные из заголовка и сравните их с именем пользователя и паролем, хранящимися в базе данных.
Если вы не укажете заголовок, то API ответит статусом
Полный пример в ветке step-5.
JSON, обработка исключений и прочее
Теперь пришло время для более сложного примера.
Из моего опыта в разработке программного обеспечения наиболее распространенным API, который я разрабатывал, был обмен JSON.
Мы собираемся разработать API для регистрации новых пользователей. Для их хранения будем использовать базу данных в памяти.
У нас будет простой доменный объект User :
Я использую Lombok, чтобы избавится от бойлерплейта (конструкторы, геттеры).
В REST API я хочу передать только логин и пароль, поэтому я создал отдельный объект:
Объекты User создаются в сервисе, который будем использовать в обработчике API. Сервисный метод просто сохраняет пользователя.
В реальном приложении можно сделать больше. Например, отправлять события после успешной регистрации пользователя.
Реализация репозитория выглядит следующим образом:
Наконец, склеим все вместе в handle() :
Здесь JSON-запрос преобразуется в объект RegistrationRequest :
Также мне нужно преобразовать объект RegistrationResponse обратно в JSON-строку. Для этого используем Jackson
( com.fasterxml.jackson.databind.ObjectMapper ).
Вот как я создаю новый обработчик ( handler ) в main() :
Рабочий пример можно найти в ветке step-6. Там я также добавил глобальный обработчик исключений для отправки стандартных JSON-сообщений об ошибках. Например, если HTTP-метод не поддерживается или запрос к API сформирован неправильно.
Вы можете запустить приложение и попробовать один из следующих запросов:
Русские Блоги
Введение: Легкая упаковка Ibatis3
Потому что, когда я работал в крупнейшей компании электронной коммерции в Китае, я чувствовал, что хорошая структура вложенных таблиц и вложенных баз данных может значительно улучшить пропускную способность системы и гибкость системы, а плохая схема вложенных таблиц и вспомогательных складов позволяет системе Это очень неприятно при работе с большими объемами данных. Поэтому в последние несколько лет, основываясь на разработках автора в области электронной коммерции, я разработал инфраструктуру суб-базы данных подтаблицы для облегченного пакета Ibatis3 для различных сценариев применения.
За последние несколько лет работы автора я суммировал и разработал следующие фреймворки: summercool (веб-фреймворк, который был применен к некоторым важным приложениям крупной отечественной сетевой компании), summercool-hsf (RPC-фреймворк на основе Netty, который был применен Отечественная компания мобильного Интернета) summercool-ddl (на основе структуры таблиц и библиотек Mybaits, которая была применена к отечественной компании мобильного Интернета), последующие решения для кэширования и решения для систем обмена сообщениями также будут медленно открывать исходные коды. Summercool Framework как первый авторский фреймворк с открытым исходным кодом
1. Что такое структура HSF
1) Канал: может быть понят как канал или подключен
2) ChannelGroup: несколько каналов объединены в одну ChannelGroup
2. Рабочий процесс HSF
3. Дизайн протокола сообщений
Протокол сообщений здесь относится к определению спецификаций для кодирования и декодирования сообщений.Протокол сообщений, встроенный в HSF, принимает следующую структуру:
Длина: выражается в 4 байтах, это относится к длине идентификатора + содержимого.
ID: выражается в 1 байте, 1 указывает, что часть контента сжата, а 0 указывает, что она не сжата.
Контент: реальное содержание сообщения.
4. Процессор
jCenter
Словарь Java-терминов
Алфавитный указатель
100% Pure Java
Под термином «100% Pure Java» понимают Java-программу, которая опирается только на специфицированное поведение Java-платформы, не использует платформно-зависимых (native) методов и не зависит ни от каких программных интерфейсов, кроме Java core API. Программа сертификации служит для того, чтобы определить, является ли данное приложение или апплет 100% Pure Java или нет.
В значительной степени вытеснен набором компонент Project Swing (см. Swing-компоненты).
abstract
Ключевое слово языка программирования Java, используемое в определении класса для указания на невозможность создания его экземпляров, но при этом доступного для наследования другими классами. Абстрактный класс может содержать нереализованные (абстрактные) методы, которые должны быть реализованы в его подклассах.
abstract class (абстрактный класс)
Класс, который содержит один или более абстрактных методов, вследствие чего нельзя создавать экземпляры данного класса. Абстрактные классы определены таким образом, чтобы другие классы могли расширять и конкретизировать их, реализуя абстрактные методы.
abstract method (абстрактный метод)
Метод, не имеющий реализации.
access control (контроль доступа)
Технические средства, посредством которых ограничиваются множества пользователей или программ, взаимодействующих с ресурсами, с целью повышения целостности, конфиденциальности и доступности.
activation (активация)
Процесс передачи корпоративных компонент (enterprise beans) из вторичного устройства хранения данных в память.
actual parameter list (список фактических параметров)
Аргументы, определенные в вызове метода (см. список формальных параметров).
alpha value (альфа-фактор)
Значение, указывающее яркость (или интенсивность) пикселя.
applet (апплет)
Компонент, который обычно исполняется в Web-браузере или в любой другой программе просмотра апплетов.
applet container (контейнер апплетов)
Контейнер, включающий в себя поддержку модели программирования апплетов.
appliances (устройства)
Сетевые устройства, такие как принтеры, терминалы с поддержкой технологии Java и клиенты, управляемые посредством использования Java Management API (JMAPI).
application assembler (компоновщик приложения)
Человек, объединяющий компоненты и модули в большие модули разработки.
application client (клиентское приложение)
Клиентская программа первого уровня, исполняемая на собственной виртуальной Java-машине.
application client container (контейнер клиентского приложения)
Контейнер, поддерживающий клиентские приложения и обеспечивающий интегрированное представление API платформы J2EE.
application client module (модуль клиентского приложения)
Программный модуль, состоящий из одного или более классов и описания клиентского приложения.
Application Component Provider (поставщик программных компонент)
Поставщик, который предоставляет классы Java, реализующие методы компонентов, описания JSP-страниц и необходимые дескрипторы.
argument (аргумент)
Элемент данных, указанный в вызове метода. Аргумент может быть константой, переменной или выражением.
array (массив)
Совокупность элементов данных одного типа, в которой позиция каждого элемента однозначно определена целым числом (индексом массива).
atomic (атомарный)
Операция, выполняемая как единый неделимый акт.
authentication (аутентификация)
Процесс, посредством которого один объект показывает другому, что он действует от имени определенной идентификационной записи. Платформа J2EE нуждается в трех видах аутентификации: обычной (basic), связанной с формой (form-based) и взаимной (mutual).
authorization (авторизация)
См. управление доступом.
authorization constraint (ограничение авторизации)
Набор ролевых имен, предназначенных для защиты и разрешающих доступ к Web-ресурсам.
basic authentication (базовая (открытая) аутентификация)
Метод проверки Web-сервером имени пользователя и пароля, полученных при помощи механизма аутентификации, встроенного в Web-клиент.
bean (bean-компонент)
Программный компонент многократного использования. Bean-компоненты могут быть объединены для создания приложения.
механизм сохранения, управляемый bean-компонентом (bean-managed persistence)
Механизм, при котором передача данных между переменными экземпляров bean-компонента и основным администратором ресурсов управляется bean-компонентом.
транзакция, управляемая bean-компонентом (bean-managed transaction)
Корпоративный компонент (enterprise bean) определяет границы транзакции.
binary operator (бинарный оператор)
Знак операции, имеющий два аргумента.
bit (бит)
Минимальная единица информации в компьютере. Может принимать значения 0 или 1.
bitwise operator (побитовый оператор)
Знак операции, воздействующий на операнды, как на набор битов (0 и 1). Например, бинарные логические операции (&, |, ^), бинарные операции сдвига ( >, >>>) и унарная операция дополнения (
block (блок)
Любой код на языке программирования Java, заключенный между двумя фигурными скобками. Например,
boolean (булевский)
Относится к выражению или переменной, которые могут принимать только два значения: true («истина») и false («ложь»). В языке программирования Java существует тип boolean, а также литеральные константы true и false.
bounding box (ограничительная область)
Прямоугольник наименьшего размера, содержащий указанную геометрическую фигуру. Для растровых объектов включает все заданные пиксели.
break
Ключевое слово языка программирования Java. Оператор break передаёт управление строке, следующей за текущей структурой. Если за break следует метка, то программа продолжает исполнение, начиная с «помеченного» оператора.
business logic (бизнес-логика)
Код, реализующий функциональность приложения. В модели Enterprise Java Beans эта логика реализуется при помощи методов корпоративного компонента (enterprise bean).
business-method (бизнес-метод)
Метод корпоративного компонента (enterprise bean), реализующий бизнес-логику или правила приложения.
byte (байт)
Последовательность из восьми битов. В языке программирования Java определен соответствующий тип byte.
bytecode (байт-код)
Машинно-независимый код, генерируемый Java-компилятором и исполняемый Java-интерпретатором.
callback methods (методы обратной связи)
Метод компонента, вызываемый контейнером для уведомления компонента о важных событиях во время его жизненного цикла.
caller (вызывающий оператор)
См. администратор вызывающего оператора
caller principal (администратор вызывающего оператора)
Администратор, который идентифицирует объект, вызывающий метод корпоративного компонента (enterprise bean).
case
Ключевое слово языка программирования Java (оператор switch), которое определяет набор инструкций, исполняющихся в случае, если значение переключающего выражения совпадает со значением константы (разметки выбирающего предложения), указанной в конструкции case.
casting (преобразование типа)
Явное преобразование одного типа данных в другой.
catch
Ключевое слово языка программирования Java, используемое для объявления блока инструкций, которые должны быть выполнены в случае исключительной ситуации или ошибки выполнения, возникающей в предшествующем блоке try.
char
Ключевое слово языка программирования Java, используемое для объявления переменной символьного типа.
class (класс)
Тип в языке программирования Java, определяющий реализацию особого вида объекта. Описание класса определяет экземпляр класса, его переменные и методы. Так же определяются интерфейсы и суперклассы. По умолчанию суперклассом любого класса является Object.
class method (метод класса <типа>)
Метод, который вызывается безотносительно ссылки на конкретный объект. Методы класса влияют на класс в целом, а не на конкретный его экземпляр.
Также носит название статического метода. См. также метод экземпляра.
classpath (путь к классам)
Переменная среды окружения, которая сообщает виртуальной машине Java и приложениям Java (например, утилитам, расположенным в директории JDK 1.1.X\bin), где находятся библиотеки классов, включая пользовательские библиотеки.
Свойство виртуальной машины (JVM), которое может быть задано с помощью переменной окружения, либо другими способами, например, с помощью опций JVM.
class variable (переменная класса <типа>)
Переменная, относящаяся к некоторому классу в целом, а не к отдельным экземплярам класса. Переменные класса являются элементами определения класса.
Также носит название статического поля. См. также переменная экземпляра.
comment (комментарий)
Поясняющий текст в программе, который игнорируется компилятором. В приложениях Java комментарии выделяются символами // или /*…*/.
commit (фиксация <транзакции>)
Момент транзакции, когда все изменения, проведенные в процессе транзакции, фиксируются в базе данных.
compiler (компилятор)
Программа, транслирующая исходный код приложения в код, исполняемый компьютером. Java-компилятор транслирует исходный код, написанный на языке Java, в машинно-независимый код (байт-код) для виртуальной машины Java. См. также интерпретатор.
component (компонент)
Программный модуль, поддерживаемый контейнером. Компоненты конфигурируемы на стадии разработки. Платформа J2EE определяет четыре вида компонент: корпоративные компоненты (enterprise beans), Web-компоненты, апплеты и клиентские приложения.
component contract (контракт компонента)
Набор условий, регулирующих отношения между компонентом и его контейнером. Контракт включает: управление жизненным циклом компонента, контекстный интерфейс, используемый образцом компоненты для получения информации о контейнере или использования возможностей контейнера, и списка функциональных возможностей, которые должен поддерживать каждый контейнер для данной компоненты.
component environment (окружение компонента)
Набор требований, определяемых Поставщиком Программных Компонент (Application Component Provider), которые должны быть доступны компоненту J2EE. Записи окружения декларативно определены в описании компонента. Каждый компонент указывает и получает доступ к значениям конфигурации компонента, используя контекст java:comp/env JNDI. Эти значения могут быть объектами, от которых зависит компонент, такими как JDBC DataSource или простыми значениями, такими как налоговая ставка.
compositing (компоновка)
Процесс наложения одного изображения на другое, с целью получения единого изображения.
connection (соединение)
См. менеджер соединений.
connection factory (мастер соединения)
См. менеджер ресурсов мастера соединения.
constructor (конструктор)
Метод особого рода, создающий объект и инициализирующий его поля. В языке программирования Java имя конструктора совпадает с именем класса. Конструкторы вызываются системой при создании экземпляра объекта (исполнении конструкции new).
const
Зарезервированное ключевое слово языка Java. Однако, не используется текущими версиями Java.
container (контейнер)
Сущность, обеспечивающая управление, безопасность, разработку и сервисы выполнения компонент. Кроме того, каждый тип контейнера (EJB, Web, JSP, сервлет, апплет или приложение-клиент) также предоставляет свои специфические сервисы.
container-managed persistence (персистенция <сохраняемость>, управляемая контейнером)
Механизм, при котором передача данных между экземпляром корпоративной компоненты и менеджером расположенных ниже ресурсов управляется контейнером корпоративной компоненты (enterprise bean).
container-managed transaction (транзакция, управляемая контейнером)
Транзакция, границы которой определяются EJB-контейнером. Экземпляр корпоративной компоненты (enterprise bean) должен использовать транзакции, управляемые контейнерами.
context attribute (контекстный атрибут)
Объект, встроенный в контекст, ассоциированный с сервлетом.
continue
Ключевое слово языка программирования Java, которое обозначает оператор, завершающий текущую итерацию цикла и, если условие повторения выполняется, начинающий исполнение следующей. Если за данным ключевым словом следует метка, continue возобновляет исполнение, начиная с помеченного оператора (то есть начинается следующая итерация цикла, помеченного данной меткой).
conversational state (диалоговый режим)
Значения полей сессии bean-компонента плюс транзитивное замыкание объектов, доступных из полей bean-компонента. Транзитивное замыкание bean-компонента определяется в терминах протокола сериализации языка Java, которые сохранены посредством сериализации экземпляра bean-компонента.
core class (базовый класс)
Публичный класс (или интерфейс), являющийся стандартным членом Java Platform. Обязательным свойством таких классов является их доступность в любой операционной системе, поддерживающей среду Java. Программой, «полностью» написанной на языке Java, называется программа, использующая только такие классы, и, следовательно, обладающая свойством независимости от платформы. См. также 100% Pure Java.
create method (метод create)
Метод, определенный в «домашнем» интерфейсе и вызываемый клиентом, для создания корпоративной компоненты (enterprise bean).
credentials (полномочия)
Учетная запись с параметрами доступа пользователя, сформированными после его успешной аутентификации.
critical section (критическая секция)
Фрагмент программы, в котором поток выполняет действия над общим ресурсом, доступ к которому должен быть монопольным.
declaration (объявление)
Выражение, связывающее идентификатор с атрибутами (типом). При необходимости осуществляется выделение памяти (для данных) или выполнение (для методов). См. также описание.
default
Ключевое слово языка программирования Java, при необходимости используемое после всех условий case в блоке switch. Если ни одно из проверяемых значений не совпадает со значением оператора switch, то выполняются инструкции, следующие после ключевого слова default.
definition (описание)
Объявление, осуществляющее резервирование памяти (для данных) или выполнение (для методов). См. также объявление.
deployer (администратор размещения)
Человек, устанавливающий модули и приложения J2EE в операционной системе.
deployment (размещение)
Процесс установки программного обеспечения в операционную среду.
deployment descriptor (дескриптор размещения)
XML-файл, поставляемый с каждым модулем и приложением и описывающий процесс их установки. Дескриптор размещения управляет инструментами для установки модуля или приложения с какими-либо специфичными опциями контейнера, а также описывает особые требования, предъявляемые к конфигурации.
deprecation (антирекомендация)
Относится к классам, интерфейсам, конструкторам, методам или полям, которые рекомендуется больше не использовать, и которые могут быть исключены из последующих версий.
derived from («является потомком»)
Класс X «является потомком» класса Y, если класс X расширяет (наследует) класс Y. См. также подкласс, суперкласс.
distributed (распределенный)
Работающий более чем в одном адресном пространстве.
distributed application (распределенное приложение)
Приложение, которое составлено из различных компонент, выполняющихся в различных средах, обычно, на разных платформах, соединенных посредством сети. Стандартные распределенные приложения: двухзвенное (клиент/сервер), трехзвенное (клиент/промежуточное программное обеспечение/сервер), n-звенное (клиент/множественное промежуточное программное обеспечение/сервер).
do
Ключевое слово языка программирования Java, используемое для объявления цикла, повторяющего блок инструкций. Условие выхода из цикла определяется ключевым словом while в конце итерации.
double
Ключевое слово языка программирования Java, используемое для определения переменной типа double.
double precision (двойная точность)
Согласно спецификации языка программирования Java, число с плавающей точкой, занимающее 64 бита данных. См. также одинарная точность.
EJB-container (EJB-контейнер)
Контейнер, содержащий корпоративные компоненты (EJB).
EJB Container Provider (поставщик EJB-контейнера)
Производитель, который предоставляет EJB-контейнер.
EJB-context (EJB-контекст)
Объект, позволяющий корпоративному компоненту (enterprise bean) запускать сервисы контейнера и получать информацию о программе, вызвавшей клиентский метод.
EJB home object («домашний» объект EJB)
Объект, обеспечивающий жизненный цикл операций (создания, удаления, поиска) для корпоративного компонента (enterprise bean). Класс для «домашнего» объекта EJB порожден инструментами разработки контейнера. «Домашний» объект EJB реализует собственный интерфейс корпоративного компонента (enterprise bean). Клиент ссылается на «домашний» объект EJB, чтобы выполнить операции жизненного цикла EJB-объекта. Для определения местонахождения EJB home object клиент использует JNDI интерфейс.
EJB module (EJB модуль)
Программный модуль, который состоит из одного или более корпоративных компонентов (enterprise beans) и дескриптора установки EJB.
EJB object (EJB объект)
Объект, чей класс реализуется удаленным интерфейсом корпоративного компонента (enterprise bean). Клиент никогда не ссылается непосредственно на экземпляр корпоративного компонента, а только на объект EJB. Класс для объекта EJB порожден инструментами разработки, входящими в состав контейнера.
EJB-server (EJB-сервер)
Программное обеспечение, предоставляющее службы EJB-контейнеру. Например, EJB-контейнер обычно зависит от менеджера транзакций, который является частью EJB-сервера, предназначенной для двухфазного завершения распределенных транзакций параллельно со всеми участвующими в ней менеджерами ресурсов. Архитектура J2EE предполагает, что EJB-сервер, содержащий EJB-контейнер, поставляется тем же производителем, поэтому не существует соглашения между двумя этими сущностями. EJB-сервер может содержать один и более контейнеров EJB.
EJB Server Provider (поставщик EJB-сервера)
Производитель, который поставляет EJB-сервер.
EIS resource (ресурс управленческой информационной системы <ресурс УИС>)
Сущность, предоставляющая функциональные возможности УИС клиентам системы. Например, запись или множество записей в системе базы данных, бизнес-объект в ERP-системе (системе, предназначенная для планирования и управления ресурсами предприятий), программа транзакции в системе обработки транзакций.
else
Ключевое слово языка программирования Java, используемое для выполнения блока инструкций в том случае, если проверка условия в операторе if дала отрицательный результат (false).
Embedded Java technology (технология EmbeddedJava)
Технология, которая впервые появилась в рамках Java 2 Platform. Распространение этой технологии ограничено лицензионным соглашением, которое позволяет владельцу лицензии использовать определенные Java-технологии для создания и внедрения встроенных приложений.
encapsulation (инкапсуляция)
Локализация (упрятывание) части данных в пределах класса. Поскольку объекты инкапсулируют данные и реализацию, пользователь может рассматривать объект как черный ящик, предоставляющий услуги. Переменные и методы экземпляров класса могут добавляться, удаляться или изменяться, но до тех пор, пока услуги, предоставляемые объектом, не изменяются, нет необходимости переписывать код, использующий данный объект. См. также переменная экземпляра класса и метод экземпляра класса.
enterprise bean (корпоративный компонент)
Компонент, реализующий бизнес-задачу или бизнес-объект, либо сущность или сессионный компонент.
Enterprise Bean Provider (поставщик корпоративных компонент)
Прикладной программист, разрабатывающий классы корпоративных компонентов (enterprise beans), удаленные и локальные интерфейсы, файлы дескрипторов установки и упаковывает их в EJB-.jar файл.
entity bean (компонент управления данными)
Корпоративный компонент (enterprise bean), который отображает постоянные данные, хранящиеся в базе данных. Сущность идентифицируется первичным ключом. Если контейнер, которому принадлежит сущность, разрушается, сущность, ее первичный ключ и все удаленные ссылки сохраняются.
ebXML
ebXML основан на стандарте XML (Extensive Markup Language) и предназначен для поставки модульного набора спецификаций, позволяющего предприятиям различного масштаба и географического положения вести дела посредством Internet. ebXML снабжает компании и организации стандартным методом обмена деловой информацией, ведения торговых отношений, передачи данных, а также определения и регистрации бизнес процессов.
exception (исключительная ситуация)
Ситуация, возникающая во время работы программы вследствие неудачного выполнения операции, или запрограммированная с использованием оператора throw. Если в программе не предусмотрена реакция на возникшую ситуацию, дальнейшее исполнение программы невозможно. Язык программирования Java поддерживает обработку исключительных ситуаций при помощи ключевых слов try, catch и throw. См. также обработчик исключительных ситуаций.
exception handler (обработчик исключительных ситуаций)
Блок кода, реагирующий на определенный тип исключительных ситуаций. Если исключительная ситуация произошла вследствие ошибки, после которой программа может возобновить работу, то программа продолжает выполнение после обработчика исключительных ситуаций.
executable context (исполняемый код)
Программа, которая выполняется из HTML-файла. См. также апплет.
extends («расширяет»)
Класс X может «расширять» класс Y с целью добавления функциональности (при помощи добавления полей и методов классу Y или переопределения методов класса Y). В таком случае говорят, что класс X является подклассом класса Y. Один интерфейс «расширяет» другой при помощи добавления методов. См. также «произошел из».
finder method (метод поиска)
Метод, определенный в «домашнем» интерфейсе и вызываемый клиентом для нахождения сущности.
field (поле)
Элемент класса. Пока не определено обратное, поле не является статическим.
finally
Ключевое слово языка программирования Java, задающее блок операций, которые будут выполнены независимо от того, произошла исключительная ситуация или ошибка в блоке, определенном с ключевым словом try, или нет.
float
Ключевое слово языка программирования Java, используемое для определения числа с плавающей точкой.
for
Ключевое слово языка программирования Java, используемое для объявления цикла, повторяющего блок инструкций. Программист определяет выполняемые операции, условия выхода из цикла, а также некоторые начальные действия перед началом первой итерации (инициализацию служебных переменных и пр.).
form-based authentication (аутентификация, связанная с формой)
Аутентификация, при которой Web-сервер выдает специализированную форму для входа в систему.
formal parameter list (список формальных параметров)
Параметры, заданные в описании метода. См. также список фактических параметров.
garbage collection («сборка мусора»)
Автоматическое обнаружение и освобождение памяти, которая больше не используется. Система управления и слежения за правильностью выполнения программы (Java runtime system) выполняет «сборку мусора» таким образом, чтобы программисту не требовалось напрямую вызывать методы освобождения памяти. При необходимости программист может запустить сборщик мусора явно, путем вызова специального метода. В этом случае сборка мусора будет выполняться синхронно.
goto
Зарезервированное слово языка программирования Java. Однако, в текущих версиях языка не используется.
group (группа)
Совокупность пользователей в пределах данного домена политики безопасности.
handle (манипулятор)
Объект, используемый для уникальной идентификации корпоративного компонента (enterprise bean). Клиент может сериализовать манипулятор, а затем десериализовать его для получения ссылки на корпоративный компонент (enterprise bean).
hexadecimal (шестнадцатеричный) Система счисления с основанием 16. Знаки 0-9 и a-f представляют цифры от 0 до 15. В программе, написанной на языке Java, шестнадцатеричные числа должны начинаться с символов 0x. См. также восьмеричный.
hierarchy (иерархия)
Классификация соотношений, в которой каждый элемент, кроме верхнего (называемого корнем), является специализированным видом элемента, расположенного над ним. Каждый элемент может иметь один или несколько элементов, находящихся ниже него в иерархии. В иерархии классов Java, образуемой при наследовании, корнем является класс Object.
home handle («домашний» манипулятор)
Объект, используемый для получения ссылки на «домашний» интерфейс. «Домашний» манипулятор может быть сериализован и записан в ПЗУ, а также десериализован для получения ссылки.
HotJava Browser (Браузер HotJava)
Легко настраиваемый Web-браузер, разработанный компанией Sun Microsystems и написанный на языке программирования Java.
identifier (идентификатор)
Имя элемента (переменной, класса, метода и проч.) программы, написанной на языке Java.
if
Ключевое слово языка программирования Java, предназначенное для проверки условия и выполнения блока инструкций, если проверка дала положительный результат (true).
implements
Ключевое слово языка программирования Java, включаемое при необходимости в объявление класса, для определения интерфейсов, которые реализует данный класс.
import
Ключевое слово языка программирования Java, определяющее классы или целые пакеты, на которые может ссылаться программа, без включения названий пакетов в ссылку.
inheritance (наследование)
Концепция классов, автоматически включающих все переменные и методы, определенные в супертипе. См. также суперкласс, подкласс.
initialization parameter (параметр инициализации)
Параметр, который инициализирует контекст, связанный с сервлетом.
instance (экземпляр)
Объект класса. В программах, написанных на языке Java, экземпляр класса создается при помощи оператора new, за которым следует имя класса-типа.
instance method (метод экземпляра)
Любой метод, который вызван от имени экземпляра класса. Также называется просто метод. См. метод класса.
instance variable (переменная экземпляра)
Любой элемент данных, связанный с объектом. Каждый экземпляр класса имеет собственную копию переменной, определенной в классе. Также носит название поля. См. переменная класса.
instanceof
Ключевое слово языка программирования Java, имеющее два аргумента и проверяющее, является ли тип первого аргумента преобразуемым к типу второго аргумента.
int
Ключевое слово языка программирования Java, используемое для определения переменной целого типа (integer).
interface
Ключевое слово языка программирования Java, используемое для определения набора методов и постоянных значений (класса специального вида). Интерфейс в дальнейшем может реализовываться классами, которые определяют этот интерфейс с ключевым словом implements.
Internet (Интернет, международная компьютерная сеть)
Огромная сеть, состоящая из миллионов компьютеров многих организаций и стран всего мира. Физически сеть Internet составлена из большого количества сетей, причем данные передаются при помощи единого набора протоколов.
interpreter (интерпретатор)
Программа, которая поочередно декодирует и исполняет каждую инструкцию кода. Интерпретатор Java декодирует и выполняет код для виртуальной машины Java*. См. также компилятор, система поддержки и выполнения программ.
J2EE product (продукт J2EE)
Продукт разработки, соответствующий спецификации платформы J2EE.
J2EE Product Provider (поставщик продуктов J2EE)
Производитель, поставляющий продукты J2EE.
J2EE server (сервер J2EE)
Исполняемая часть продукта J2EE. Сервер J2EE обеспечивает Web и/или EJB-контейнеры.
JAIN
См. Java APIs for Integrated Networks.
Java ARchive files (.jar) (JAR-файлы)
Файловый формат, используемый для группирования нескольких файлов в один.
JAR file format (файловый формат JAR)
Платформно-независимый файловый формат, соединяющий несколько файлов в один. Составные апплеты, написанные на языке Java, и необходимые для них компоненты (.class-файлы, изображения, звуковые и другие файлы) могут быть упакованы в JAR-файл и затем загружены в браузер за одну HTTP-транзакцию. Данный формат также поддерживает сжатие файлов и цифровые подписи.
Java
Торговая марка компании Sun для ряда технологий по созданию и безопасной работе программного обеспечения как в автономных, так и в сетевых средах.
Java 2 Platform, Standard Edition (J2SE platform) (платформа J2SE)
Ядро платформы технологии Java.
Java 2 Platform, Enterprise Edition (J2EE platform) (платформа J2EE)
Среда для разработки корпоративных приложений. Платформа J2EE состоит из набора услуг, интерфейсов прикладного программирования (APIs) и протоколов, обеспечивающих функциональные возможности для разработки многоуровневых Web-приложений.
Java 2 SDK, Enterprise Edition
Реализация платформы J2EE компании Sun. Данная реализация включает описание работы платформы J2EE.
JavaBeans
Модель переносимых платформонезависимых компонентов многократного использования.
Java Card API
API для систем с минимальным набором ресурсов, в частности для смарт-карт. Среда прикладных программных средств, соответствующая стандарту ISO 7816-4 для интеллектуальных карт.
JavaCheck
Инструмент для проверки соответствия приложений и апплетов языка Java.
JavaChip
Процессор фирмы Sun, выполняющий байт-код виртуальной машины Java*. На компьютере с процессором JavaChip байт-код минует эмуляцию Java-машины на какой-либо платформе, исполняясь непосредственно аппаратным процессором.
Java Compatibility Kit (JCK)
Набор испытательных программ и инструментальных средств, используемых для проверки совместимости реализации платформы Java соответствующим спецификациям Java-платформ, а также эталонным реализациям программ Java. TCK для Java 2 Standard Edition. См. TCK.
Java Developer Connection
Служба, предназначенная для индивидуальных разработчиков, предоставляющая интерактивное обучение, скидки на продукты, специальные статьи, информацию об ошибках, а также возможности раннего доступа к новым продуктам.
Java Electronic Commerce Framework
Структурированная архитектура для разработки приложений электронной коммерции в языке программирования Java.
Java Enterprise API
Данный API упрощает создание крупномасштабных приложений и приложений баз данных, которые совместно используют мультимедийные данные с другими приложениями в пределах организации или через Internet. В семействе Java Enterprise API разработано четыре интерфейса прикладного программирования.
Java IDL
Технология, обеспечивающая функциональную совместимость и способность к взаимодействию CORBA и J2EE-платформы. Эти возможности позволяют приложениям J2EE вызывать операции удаленных сетевых служб, используя OMG IDL и IIOP.
Java Interface Definition Language (IDL)
API, написанные на языке программирования Java, которые обеспечивают функциональную совместимость и способность к взаимодействию с CORBA (Common Object Request Broker Architecture).
JavaMail
API для отправки и получения сообщений.
Java Media APIs
Набор интерфейсов прикладного программирования (APIs) для интеграции аудио и видео файлов, двумерных шрифтов, графики и изображений, а также трехмерных моделей и телефонии.
Java Media Framework
Ядро структуры поддерживает часы для синхронизации различных потоков (например, аудио и видео сигналов). Standard extension framework позволяет пользователям организовать потоки аудио и видео информации.
Java Naming and Directory Interface (JNDI)
Стандартный API к корпоративной службе каталогов.
JavaOS (операционная система Java)
Операционная система, основанная на технологии Java и оптимизированная для работы на различных платформах. Операционная среда JavaOS обеспечивает работу Java-приложений непосредственно на аппаратных платформах, минуя ведущую операционную систему.
JavaPlan
Инструмент для объектно-ориентированного проектирования и схематического изображения, написанный на языке программирования Java.
Java Platform (платформа Java)
Состоит из языка Java, предназначенного для написания программ, набора интерфейсов прикладного программирования (APIs), библиотек классов, других программ, используемых при разработке и компиляции, программ проверки ошибок, а также виртуальной машины Java, которая загружает и выполняет файлы классов.
Издание составлено из двух видов API: (i) «основные пакеты», которые являются необходимыми для всех реализаций данного издания платформы; (ii) «дополнительные пакеты», которые доступны данному изданию платформы и могут поддерживаться совместимыми реализациями.
Существует три различных издания платформы Java:
Java Remote Method Invocation (RMI)
Распределенная объектная модель для Java-программы, в которой методы и удаленные объекты, написанные на языке программирования Java, могут быть вызваны другой виртуальной машиной Java, возможно, расположенной на другом компьютере.
JavaSafe
Инструмент для отслеживания и управления изменениями исходного файла, написанного на языке программирования Java.
JavaScript (язык сценариев JavaScript)
Язык сценариев, который используется как браузерами, так и Web-серверами. Подобно всем языкам сценариев, предназначен главным образом для интеграции компонент и пользовательского ввода.
JAX
JAX относится к набору интерфейсов прикладного программирования (APIs), который предназначен для управления различными операциями, включающими данные, определенные посредством XML. Сюда входят такие операции как синтаксический анализ XML, регистрация в репозиториях ebXML или UDDI, обмен сообщениями между приложениями, привязка данных и удаленный вызов процедур.
JSP action (действие Java Server Pages
JSP элемент, который может действовать на неявные объекты и другие серверные объекты или определять новые переменные создания сценария. Действия придерживаются синтаксиса XML для элементов с начальным тэгом, телом и конечным тэгом; если тело пусто, может использоваться синтаксис пустого тэга. Тэг должен использовать префикс.
JSP action, standard (стандартное действие Java Server Pages)
Действие, которое определено спецификацией JSP и всегда доступно JSP-файлу без импортирования.
JSP action, custom (специальное действие Java Server Pages)
Действие, описанное с помощью тэгов и набора классов Java, включенных в страницу JSP с помощью тэговых дескрипторов.
JSP application (приложение JSP)
Автономное Web- приложение, написанное с использованием технологии Java Server Pages и включающее JSP файлы, сервлеты, HTML файлы, изображения, апплеты и компоненты JavaBeans.
JSP container (контейнер JSP)
Контейнер, предоставляющий те же услуги, что и сервлет-контейнер, а также механизм интерпретации и переработки JSP страниц в сервлеты.
JSP container, distributed (распределенный контейнер JSP)
JSP контейнер, который может запускать Web-приложения, помеченные как распределенные и выполняемые одновременно на нескольких виртуальных машинах Java. При этом виртуальные машины могут быть запущены, как на одном, так и на разных компьютерах.
JSP declaration (объявление JSP)
Элемент сценариев JSP, который объявляет методы и переменные в JSP файле.
JSP directive (директива JSP)
Элемент JSP, который дает команды JSP контейнеру и интерпретируется во время трансляции.
JSP element (элемент JSP)
Часть JSP страницы, которая распознается JSP транслятором. Элемент JSP может быть директивой, действием или элементом сценария.
JSP expression (выражение JSP)
Элемент сценария, который содержит допустимое выражение языка сценариев, вычисленное, преобразованное в строку и помещенное в неявный выходной объект.
JSP page (страница JSP)
Текстовый документ, использующий фиксированные шаблонные данные и элементы JSP. Описывает, как обработать запрос.
JSP tag (тэг JSP)
Текст между левой и правой угловыми скобками, который используется в файлах JSP, как часть элемента JSP. В отличие от данных, тэг является элементом разметки документа, т.к. он выделен угловыми скобками.
JSP tag library (библиотека тэгов JSP)
Совокупность тэгов, описанных посредством библиотечных дескрипторов и классов Java. Библиотека тэгов JSP может импортироваться в любой JSP файл и использоваться с различными языками сценариев.
Java Studio
Инструментальный комплекс для построения Java-программ из готовых компонент, основанный на визуальном стиле проектирования и предназначенный для непрограммистов.
Java Technologies (технологии Java)
Ряд технологий по созданию и безопасной работе программного обеспечения, как в автономных, так и в сетевых средах.
Java Transaction API (JTA)
API, позволяющий приложениям и сервлетам J2EE иметь доступ к транзакциям.
Java Transaction Service (JTS)
Определяет реализацию менеджера транзакций, который поддерживает JTA и осуществляет Java отображение спецификации OMG Object Transaction Service (OTS) 1.1 на уровень ниже API.
Java Web Server (Web-сервер Java)
Удобное, открытое, легко администрируемое, безопасное, платформонезависимое решение для ускорения и простоты разработки Internet/Intranet Web-страниц. Обеспечивает немедленное повышение производительности для трудоемких, полнофункциональных серверных приложений Java.
Java Workshop
Законченный набор инструментов, интегрированный в единую среду программирования с использованием Java технологий. Программное обеспечение Java Workshop использует модульную структуру, которая позволяет легко подключать новые инструментальные средства.
Java wallet
Пользовательский интерфейс, основанный на Java Electronic Commerce Framework, предназначенный для осуществления интерактивных покупок, передачи данных и выполнения административных функций.
JavaSpaces
Технология, содержащая механизмы распределенной работы и обмена данными при программировании на языке Java.
JavaSoft
Ранее филиал компании Sun Microsystems, в настоящее время известный как подразделение Sun Microsystems Java Software.
Jini Technology (технология Jini)
Набор интерфейсов прикладного программирования (APIs) Java, которые могут быть включены в дополнительный пакет к любому изданию платформы Java 2. Jini позволяет обеспечивать совместную работу в сети различных устройств и служб, а также устраняет необходимость системного или сетевого административного вмешательства пользователя.
В настоящее время технология Jini является дополнительным пакетом, доступным любой Java платформе.
JMS
См. Java Message Service.
JNDI интерфейс
См. Java Naming and Directory Interface.
JRE
См. Java Runtime Environment.
Just-in-time (JIT) Compiler (компилятор JIT)
Компилятор, динамически («на лету») преобразующий байт-код в объектный код целевой платформы. Его применение приводит к значительному ускорению выполнения Java-программы.
JVM
См. виртуальная машина Java*.
keyword (ключевое слово)
Слово, которое зарезервировано языком программирования Java, и поэтому не может быть именем переменной или метода.
linker (компоновщик)
Модуль, который формирует запускаемую, законченную программу из составных модулей машинного кода. Компоновщик Java создает работоспособную программу из откомпилированных классов. См. также компилятор, интерпретатор, система поддержки исполнения программ.
local variable (локальная переменная)
Элемент данных, известный в пределах блока, но недоступный вне блока. Например, любая переменная, определенная внутри метода, является локальной и не может использоваться вне этого метода.
long
Ключевое слово языка программирования Java, используемое для определения переменных типа long.
member (элемент)
Поле или метод класса. Пока не оговорено обратное, член не является статическим.
method (метод)
Функция, определенная в классе. См. также метод экземпляра, метод класса. Пока не оговорено обратное, метод не является статическим.
method permission (разрешение на вызов метода)
Разрешение на вызов указанной группы методов «домашнего» или удаленного интерфейса корпоративного компонента (enterprise bean).
module (модуль)
Программный модуль, который состоит из одного или более компонентов J2EE, принадлежащих контейнеру одного типа, и из дескриптора размещения этого типа. Существует три типа модулей: EJB, Web и клиентские приложения. Модули можно использовать автономно или собирать в приложения.
Mosaic
Программа c несложным графическим интерфейсом (GUI), предназначенная для простого доступа к данным, хранящимся в Internet. Данные могут быть обычными файлами или гипертекстовыми документами. Mosaic была разработана в NCSA.
multithreaded (многопоточный)
Описывает программу, спроектированную и реализованную в виде совокупности параллельных потоков управления (threads), синхронизированных между собой по общим ресурсам и событиям. См. также поток.
mutual authentication (взаимная аутентификация)
Процесс, при котором клиент использует сертификат с открытым ключом для установления своей идентичности и поддерживает защиту своего контекста.
native
Ключевое слово языка программирования Java, используемое в объявлении метода для указания на то, что метод реализован не в файле Java, а на другом языке.
new
Ключевое слово языка программирования Java, используемое для создания нового экземпляра класса.
object (объект)
Основной компоновочный блок объектно-ориентированных программ. Каждый объект программного модуля состоит из данных (переменные экземпляра) и функциональных возможностей (методы экземпляра). См. также класс.
object-oriented design (объектно-ориентированное проектирование)
Метод проектирования программного обеспечения, позволяющий моделировать абстрактные или реальные объекты при помощи классов и объектов.
octal (восьмеричный)
Система счисления с основанием 8. Знаки 0-7 представляют цифры. В программе, написанной на языке Java, восьмеричные числа должны начинаться с символа 0. См. также шестнадцатеричный.
Optional Package (дополнительный пакет)
Набор API в издании платформы Java, который может быть доступным или поддерживаться в совместимой реализации.
По мере необходимости, дополнительные пакеты могут становиться необходимыми в издании.
OS principal (принцип)
Свойство (principal), присущее той операционной системе, на которой запущена платформа J2EE.
Object Transaction Service (OTS)
Интерфейсы, позволяющие объектам CORBA участвовать в транзакциях.
overloading (перегрузка <операций>)
Использование одного идентификатора для ссылки на разные элементы в одной области действия. В языке программирования Java можно перегружать методы, однако, нельзя перегружать переменные или операторы.
overriding (замещение)
Означает другую реализацию метода в подклассе класса, первоначально определившего метод.
package (пакет)
Группа типов. Пакеты объявляются при помощи ключевого слова package.
passivation (пассивация)
Процесс передачи корпоративного компонента (enterprise bean) из памяти во вторичное устройство хранения данных. См. также активация.
peer (одноранговые)
В организации сетей любые функциональные единицы, находящиеся на одном уровне.
persistence
Протокол передачи состояния сущности (entity bean) между переменными ее экземпляра и базой данных.
PersonalJava
Среда выполнения Java для сетевых приложений на персональных устройствах потребителя (домашнего, мобильного или офисного использования).
pixel (пиксель)
Элемент площади изображения, например, экрана монитора или напечатанной страницы. Каждый пиксель является индивидуально доступным.
primary key (первичный ключ)
Объект, уникально идентифицирующий сущность (entity bean).
principal (принцип)
Отличительная черта, присвоенная сущности в результате аутентификации.
private
Ключевое слово языка программирования Java, используемое при объявлении метода или переменной. Указывает на то, что к методу или переменной класса не могут обращаться элементы других классов.
process (процесс)
Виртуальное адресное пространство, содержащее один или более потоков.
property (свойство)
Характеристика объекта, которую может устанавливать пользователь. Например, цвет окна.
Profiles (профили)
Наборы Java API, которые служат дополнением к изданиям платформ Java и обеспечивают дополнительные возможности. Профили также могут включать другие определенные профили. Реализация профиля нуждается в издании Java Platform для создания законченной разработки и среды ее использования на целевом вертикальном рынке. Каждый профиль подчиняется связанному набору требований совместимости.
Профили могут использоваться одним или несколькими изданиями.
Примеры профилей в Java 2 Platform, Micro Edition: PersonalJava, Java Card.
protected
Ключевое слово языка программирования Java, используемое при объявлении метода или переменной. Указывает на то, что к методу или переменной класса могут обращаться другие элементы данного класса, его подклассов или классов из того же пакета.
private
Ключевое слово языка программирования Java, используемое при объявлении метода или переменной. Указывает на то, что к методу или переменной класса могут обращаться элементы других классов.
raster (растр)
Двумерная прямоугольная сетка пикселей.
realm (область)
См. область политики безопасности. Строка, проходящая базовую аутентификацию, как часть HTTP-запроса, которая определяет пространство защиты. Защищенные ресурсы на сервере могут находиться в разных пространствах защиты, каждое со своей схемой аутентификации и/или базой данных авторизации.
re-entrant enterprise bean (реентерабельный корпоративный компонент)
Корпоративный компонент, который может обрабатывать несколько одновременных или вложенных вызовов, не пересекающихся друг с другом.
reference (ссылка)
Элемент данных, значение которого является адресом памяти.
remote interface (удаленный интерфейс)
Один из двух интерфейсов корпоративной компоненты (enterprise bean). Удаленный интерфейс определяет бизнес-методы, вызываемые клиентом.
remove method (метод удаления)
Метод, определенный в «домашнем» интерфейсе и вызываемый клиентом для уничтожения корпоративной компоненты (enterprise bean).
resource manager (менеджер ресурсов)
Обеспечивает клиенту доступ к набору общедоступных ресурсов. Менеджер ресурсов участвует в транзакциях, которые управляются и координируются менеджером транзакций. Менеджер ресурсов обычно находится в другом адресном пространстве или на другой машине. Замечание: к EIS обращаются, как к менеджеру ресурсов, когда она упомянута в контексте управления ресурсами и транзакциями.
resource manager connection (соединение с менеджером ресурсов)
Объект, представляющий собой сеанс связи с менеджером ресурсов.
resource manager connection factory (мастер соединения с менеджером ресурсов)
Объект, используемый для создания сеанса связи с менеджером ресурсов.
return
Ключевое слово языка программирования Java, используемое для окончания выполнения метода. За ним может следовать значение, возвращаемое методом.
RMI
См. Java Remote Method Invocation.
role (development) (роль разработки)
Функция, выполняемая человеком в стадии развития приложения, разрабатываемого с помощью технологии J2EE. Примеры ролей: поставщик программных компонент (Application Component Provider), компоновщик приложения (application assembler), «разместитель» (deployer), поставщик платформы J2EE (J2EE Platform Provider), поставщик EJB-контейнера (EJB Container Provider), поставщик EJB-сервера (EJB Server Provider), поставщик Web-контейнера (Web Container Provider), поставщик Web-сервера (Web Server Provider), поставщик инструментов (Tool Provider), системный администратор (System Administrator).
role (security) (роль безопасности)
Абстрактная логическая группировка пользователей, осуществляемая компоновщиком приложения. Когда приложение установлено, роли ставятся в соответствие идентичностям безопасности, таким как principals или группы.
role mapping (распределение ролей)
Процесс объединения групп, распознанных контейнером, в роли безопасности, которые определены в дескрипторе размещения. Роли безопасности должны быть составлены «разместителем» перед установкой контейнера на сервер.
rollback (откат)
Момент транзакции, когда все изменения, вносимые в базу данных, отменяются.
root (корень)
Элемент иерархии, из которого происходят все элементы. Ни один элемент не может находиться в иерархии выше «корня». См. также иерархия, класс, пакет.
runtime system (система поддержки исполнения программ)
Программная среда, в которой могут работать программы, откомпилированные для виртуальной машины Java*. Система поддержки исполнения включает весь код, необходимый для того, чтобы загружать программы, написанные на Java, динамически связывать «родные» методы, управлять памятью, обрабатывать исключительные ситуации, а также реализацию виртуальной машины Java.
Sandbox
Содержит множество взаимодействующих системных компонент, начиная от менеджеров безопасности, которые выполняются как часть приложения, и заканчивая мерами безопасности, встроенными непосредственно в виртуальную машину Java* и язык Java. Sandbox гарантирует, что ненадежные и, возможно, злонамеренные приложения не смогут получить доступ к системным ресурсам.
security attributes (атрибуты безопасности)
Набор свойств, связанных с principal. Атрибуты безопасности могут быть связаны с principal посредством протокола аутентификации и/или поставщиком продуктов J2EE (J2EE Product Provider).
security constraint (ограничения безопасности)
Декларативный способ аннотирования необходимой защиты содержимого сети. Ограничение безопасности состоит из совокупности Web-ресурсов, ограничения авторизации, ограничения пользовательских данных.
security context (контекст безопасности)
Объект, включающий разделяемые свойства для описания безопасности сущностей.
security permission (право безопасности)
Механизм, определенный J2SE и используемый платформой J2EE для определения программных ограничений, наложенных на поставщиков программных компонент (Application Component Providers).
security permission set (набор прав безопасности)
Минимальный набор прав безопасности, обеспечиваемый поставщиком программных компонент (Application Component Provider) для выполнения каждого типа компонент.
security policy domain (область политики безопасности)
Область, в переделах которой определена и приведена в исполнение администратором политика безопасности. Область политики безопасности имеет следующие характеристики:
security role
См. роль безопасности (role(security)).
security technology domain (область технологии безопасности)
Область, в пределах которой для осуществления политики безопасности используется один и тот же механизм. В пределах единой области технологии безопасности может существовать несколько областей политики безопасности.
server principal
Принцип ОС, в соответствии с которым работает сервер.
servlet (сервлет)
Java программа, которая расширяет функциональные возможности Web-сервера, динамически генерируя содержание и взаимодействуя с Web-клиентами при помощи принципа запрос-ответ.
servlet container (контейнер сервлета)
Контейнер, обеспечивающий сетевые службы, при помощи которых посылаются запросы и ответы, декодируются запросы и форматируются ответы. Все контейнеры сервлетов должны поддерживать HTTP-протокол, но могут также поддерживать дополнительные протоколы, например, HTTPS.
servlet container, distributed (распределенный контейнер сервлета)
Контейнер сервлета, запускающий Web-приложения, которые помечены как распределенные и выполняются на нескольких виртуальных машинах Java. При этом виртуальные машины могут быть запущены, как на одном, так и на разных компьютерах.
servlet context (контекст сервлета)
Объект, содержащий представление (вид) Web-приложения, в котором запущен сервлет. Используя контекст, сервлет может вести журнал событий, получать URL-ссылки на ресурсы, а также устанавливать и хранить атрибуты, которые могут использоваться другими сервлетами в приложении.
session (сессия)
Объект, используемый сервлетом, для прослеживания взаимодействий пользователя с Web-приложением при помощи множества HTTP-запросов.
session bean (сессионный компонент)
Корпоративный компонент (enterprise bean), который создается клиентом и обычно существует только в течение одной клиент-серверной сессии. Сессионный компонент выполняет для клиента вычислительные операции и организует доступ к базе данных. В случае сбоя системы сессионный компонент не восстанавливается. Объекты сессионных компонент могут не менять своего состояния или поддерживать диалоговое состояние в процессе выполнения методов и транзакций. Если объект поддерживает состояние, то EJB-контейнер управляет этим состоянием, если объект должен быть удален из памяти. Однако объекты сессионного компонента должны управлять собственными хранимыми данными.
short
Ключевое слово языка программирования Java, используемое для определения переменных типа short.
single precision (одинарная точность)
В спецификации языка Java описывает число с плавающей запятой, занимающее 32 бита данных. См. также двойная точность.
Smart Web Services
Расширяют основную концепцию сетевых услуг, добавляя пользовательский контекст, и способны модифицировать свои действия, чтобы следить за изменениями текущего состояния клиента. Сюда входят классические дескрипторы «кто, что, когда, где, почему», которые объединяются для определения пользовательского контекста в данный момент.
stateful session bean (сессионный компонент с диалоговым состоянием)
Сессионный компонент с диалоговым состоянием.
stateless session bean (сессионный компонент, не имеющий состояния)
Сессионный компонент, не имеющий состояния. Все экземпляры такого компонента идентичны.
static
Ключевое слово языка программирования Java, используемое для определения переменной класса (типа). Классы обеспечивают только одну копию таких переменных, не зависимо от того, сколько экземпляров класса было создано. Слово static также может использоваться при определении метода класса. Такие статические методы вызываются от имени не экземпляра объекта, а его типа (класса), и могут, в свою очередь, оперировать только статическими переменными.
static field (статическое поле)
Другое название переменной класса.
static method (статический метод)
Другое название метода класса.
stream (поток)
Последовательность байтов данных, пересылаемых от отправителя к получателю. Существует две основные категории потоков, поэтому пакет java.io включает два абстрактных класса (InputStream и OutputStream).
subarray (подмассив)
Массив, содержащийся в другом массиве.
subclass (подкласс)
Класс, который «произведен» из другого класса. См. также суперкласс, супертип.
superclass (суперкласс)
Класс, из которого «произведены» другие классы. См. также подкласс, подтип.
super
Ключевое слово языка программирования Java, используемое для доступа к членам класса, наследуемого классом, из которого производится вызов.
supertype (супертип)
Все интерфейсы или классы, расширяемые или реализуемые данным типом. См. также подтип, суперкласс.
switch
Ключевое слово языка программирования Java, используемое для определения переменной, которая в дальнейшем может быть использована ключевым словом case для выполнения блока инструкций.
Swing
Кодовое название совокупности графических компонентов, которые выполняются на любой платформе, поддерживающей виртуальную машину Java. Данные компоненты могут обеспечивать большие функциональные возможности, вследствие того, что они целиком написаны на языке Java. См. также AWT.
synchronized
Ключевое слово языка программирования Java, которое при применении к методу или блоку кода, гарантирует, что данный код будет выполняться не более чем одним потоком одновременно.
System Administrator (системный администратор)
Человек, ответственный за конфигурирование и администрирование компьютеров компании, сетей и систем программного обеспечения.
TCP/IP (TCP/IP)
Протокол управления передачей данных, основанный на IP. Internet-протокол, который обеспечивает надежную транспортировку потоков данных между компьютерами. См. также IP.
Thin Client («тонкий» клиент)
Система, использующая очень упрощенную операционную систему, не требующая локального системного администрирования и выполняющая приложения, загруженные из сети.
this
Ключевое слово языка Java, которое может использоваться для ссылки на экземпляр класса, в котором используется эта ссылка. Слово this может использоваться для доступа, как к полям, так и к методам класса.
thread (процесс <поток>)
Основная единица выполнения программы. Процесс может иметь несколько потоков, работающих одновременно и выполняющих различные задачи, такие как, ожидание события или исполнение трудоемкой по времени работы, окончание которой не требуется для дальнейшего выполнения программы. После выполнения потоком своей работы он приостанавливается или уничтожается. См. также процесс.
throws
Ключевое слово языка Java, используемое в описании метода и определяющее, какие исключительные ситуации не обрабатываются внутри метода, а передаются на следующий, более высокий уровень программы.
Tool Provider (поставщик инструментов)
Организация или поставщик программного обеспечения, предоставляющий инструменты, используемые для разработки, компоновки и внедрения J2EE приложений.
transaction (транзакция)
Минимальная единица работы по изменению данных. Транзакция включает в себя одну или несколько программных инструкций, которые могут выполниться только все вместе. Если хотя бы одна из инструкций не выполняется, происходит возврат в исходное состояние (откат). Транзакции разрешают одновременный доступ нескольким пользователям к одним и тем же данным.
transaction attribute (атрибут транзакции)
Значение, определяемое в дескрипторе внедряемой корпоративной компоненты (enterprise bean), которое используется в контейнере EJB для управления областью действия транзакции при вызове методов компоненты. Атрибут транзакции может принимать следующие значения: Required, RequiresNew, Supports, NotSupported, Mandatory, Never («требуется», «требуется для новых», «поддерживается», «не поддерживается», «принудительно», «никогда»).
transaction isolation level (уровень изоляции транзакции)
Степень видимости промежуточного состояния модифицируемых транзакцией данных для других параллельных транзакций и данных, модифицируемых другими транзакциями, для данной транзакции.
transaction manager (менеджер транзакции)
Обеспечивает сервисы и управляющие функции, требуемые для поддержки разграничения транзакции, управления ресурсами транзакции, синхронизации и прохождения содержания транзакции.
transient
Ключевое слово языка Java, которое определяет, что поле не является частью сериализуемой формы объекта. Когда объект сериализуется, значения его transient полей не включаются в представление сериализации, в то время как значения не transient полей включаются.
try
Ключевое слово языка Java, определяющее блок операторов, которые могут генерировать исключительные ситуации Java. При возникновении исключительной ситуации необязательный catch блок может обработать определенные исключительные ситуации, сгенерированные внутри блока try. Также необязательный блок finally будет выполнен независимо от того, генерировалась исключительная ситуация или нет.
type
Класс или интерфейс.
Unicode (уникод)
16-битная кодовая таблица, определенная ISO 10646. См. также ASCII. Все исходные коды программной среды Java написаны в Unicode.
URN (унифицированное имя ресурса)
Уникальный идентификатор, который идентифицирует сущность, но не показывает, где она расположена. Система может использовать URN для локального поиска сущности перед попыткой найти ее в Web. Этот идентификатор также позволяет изменение Web-ссылки при сохранении возможности нахождения сущности.
user data constraint (ограничитель данных пользователя)
Определяет, как должны быть защищены данные между клиентом и контейнером. Защита может быть предотвращением несанкционированного изменения данных либо предотвращением перехвата данных.
variable (переменная)
Элемент данных, имеющий идентифицирующее его имя. Каждая переменная имеет тип (например, int или Object) и область видимости. См. также переменная класса, переменная экземпляра, локальная переменная.
vocabulary (словарь)
Обычно компьютерные программы пишутся и компилируются в машинные коды, которые прямо зависят от операционной системы, управляющей микропроцессором в компьютере. Java-платформа смягчает эту зависимость, обеспечивая модель, по которой программы пишутся, компилируются и могут быть переданы по сети и выполнены в любом месте, где присутствует полностью совместимая виртуальная машина.
Эта модель обеспечивает дополнительное преимущество в повышении безопасности. Во-первых, потому что программы могут быть проверены виртуальной машиной после того, как они были переданы по сети. И, во-вторых, потому что виртуальная машина может запустить программу в защищенном пространстве, которое предотвратит определенные разрушающие действия.
Разработчики программного обеспечения выбирают платформу Java потому, что это уменьшает стоимость и время написания и поддержки программного кода. Им больше не требуется переписывать программы для функционирования на различных компьютерах с различными операционными системами и микропроцессорами. Внедрение приложений Java технологии в компаниях и организациях выгодно, потому что это минимизирует стоимость покупки и модификации различных версий приложений для различных типов компьютеров и серверов внутри их сетей.
void
Ключевое слово языка Java, используемое в описании метода для указания на то, что метод не возвращает никакого значения. void может также использоваться как нефункциональный оператор.
volatile
Ключевое слово языка Java, используемое в описания переменной для указания на то, что переменная модифицируется асинхронно несколькими совместно выполняющимися потоками.
wait
Команда UNIX, которая будет ожидать завершения всех фоновых процессов и отчета об их статусе завершения.
Web application, distributable (Web-приложение, распределенное)
Web-приложение, использующее технологию J2EE и написанное таким образом, что оно может быть внедрено в Web контейнер, распределенный по нескольким виртуальным машинам Java, работающих на одном хосте или на различных хостах. Дескриптор «размещения» для такого приложения использует распределенный элемент.
Web component (Web-компонент)
Компонент, обеспечивающий сервисы в ответ на запросы, сервлеты или JSP страницы.
Web container (Web-контейнер)
Контейнер, обеспечивающий исполнение Web компонентов, удовлетворяющих правилам J2EE архитектуры. Эти правила определяют среду времени выполнения (runtime environment) для Web-компонентов, включая безопасность, совместную работу, управление жизненным циклом, транзакции, внедрение и другие службы. Контейнер, обеспечивающий такие же службы как JSP контейнер и интегрированный взгляд на API платформы J2EE. Web контейнер обеспечивается Web или J2EE сервером.
Web container, distributed (Web-контейнер, распределенный)
Web-контейнер, который может запускать Web-приложение, помеченное как распределенное, которое выполняется на нескольких виртуальных машинах Java, работающих на одном или на различных хостах.
Web server (Web-сервер)
Программа, обеспечивающая службы для доступа в Internet, Intranet, или Extranet. Web-сервер содержит Web-сайты, обеспечивая поддержку HTTP и других протоколов и выполняет серверные программы (такие как CGI-скрипты или сервлеты), которые выполняют определенные функции. Например, Web-контейнер обычно основан на Web-сервере для обеспечения обработки сообщений HTTP. Архитектура J2EE предполагает, что Web-контейнер предоставляется Web-сервером от одного и того же поставщика, т.е. не определяя правила между этими двумя сущностями. Web-сервер может предоставлять один или много Web-контейнеров.
Web Services (Web-службы)
Свободно собранные программные компоненты, способные взаимодействовать между собой по многочисленным сетям для предоставления определенного результата конечному пользователю. Во время работы они используют развивающуюся группу стандартов, которые определяют их (служб) описание и взаимодействие, таких как SOAP (простой протокол доступа к объектам), UDDI (универсальное обнаружение и интеграция описаний), XML (открытый язык меток), WSDL (язык описания Web-служб).
while
Ключевое слово языка Java, используемое для определения цикла, который повторяет блок инструкций. Условие продолжения цикла указывается как часть оператора while.
world readable files (общедоступные для чтения файлы)
Файлы в файловой системе, которые могут быть просмотрены (прочтены) любым пользователем. Например: файлы, расположенные на Web-серверах могут быть просмотрены пользователями Internet, если права файлов были установлены как «доступные для чтения».
wrapper
Объект, который инкапсулирует и уполномочивает другой объект на изменение своего интерфейса или поведения определенным образом.