русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Шановні українці! Матеріал був перекладений з російської мови. Тому можуть бути незначні помикли...

Java анотація

Поведінковий шаблон Observer надає компоненту можливість гнучкої розсилки повідомлень зареєстрованим користувачам.
На деякому об'єкті сконцентрована увага спостерігачів, зацікавлених в отриманні від нього якоїсь інформації. Зажадавши від спостерігають об'єктів, щоб вони встановлювали сеанси зв'язку з центральним об'єктом, можна значно зменшити накладні витрати на комунікацію, оскільки встановлювати зв'язок будуть тільки об'єкти, зацікавлені в отриманні оновленої інформації. Гнучкість шаблону дозволяє застосовувати його для розсилки інформації як окремими, так і всіх компонентів системи.

У відповідності з цим шаблоном, генератори повідомлень (спостережувані компоненти) розсилають повідомлення, які представляють події в системі. Ці події обробляються одним або кількома одержувачами повідомлень (компоненти-спостерігачі). Спостережувані компоненти відповідають за доставку подій всім зацікавленим спостерігачам (тобто тим, які встановили сеанси зв'язку). Інтерфейс передачі повідомлень дозволяє спостережуваних компонентів деталізувати події для спостерігачів.

Якщо цей об'єкт багатопотоковий, він може підтримувати чергу повідомлень, пріоритети повідомлень, перекриття повідомлень і т.д.
Шаблон можна змінити, щоб спостерігачі самостійно отримували повідомлення: досліджуваний об'єкт сповіщає про те, що подія сталася, а зацікавлені спостерігачі викликають метод спостережуваного для отримання додаткової інформації про подію.

Анотація - засіб, що дозволяє вмонтувати деяку інформацію (метадані) у вихідні і виконувані файли.
пАннотироваться можуть класи, методи, поля, параметри, константи enum і самі анотації.

Політика утримання анотації визначає, на якому етапі анотація відкидається. Визначено три політики:

SOURCE - анотації утримуються лише у вихідному файлі,

CLASS - анотації зберігаються у файлі .class під час компіляції, але недоступні JVM під час виконання

RUNTIME - анотації зберігаються у файлі .class і доступні під час виконання.
Механізм рефлексії - дозволяє обробляти типи, відсутні при компіляції, але виявлені під час виконання програми.
Рефлексія і наявність логічно цілісної моделі видачі інформації про помилки дає можливість створювати коректний динамічний код

RTTI дозволяє отримати інформацію про точний тип об'єкта, коли є лише посилання базового типу. Використання цієї інформації передбачає відмову від всіх переваг поліморфізму. Рекомендується використовувати саме поліморфні методи, а до RTTI звертатися тільки в крайньому випадку.

Різниця між механізмом RTTI і рефлексією полягає в тому, що при використанні RTTI файл .class відкривається і аналізується компілятором, а при використанні рефлексії файл .class відкривається і обробляється системою виконання.

Переглядів: 4754

Повернутися взміст


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн