Главная » Статьи для тега "вызова"

Создание советов, выполняемых и до, и после Spring

Добавлено Дата: 24 June, 2014 категория: Spring

Как и в случае настройки аспектов в XML-файле конфигурации Spring, при использовании аннотаций @AspectJ можно создавать не только советы, выполняемые до или после вызова целевого метода, но и советы, выполняемые и до, и после вызова. Для этого следует использовать аннотацию @Around, как показано в следующем при- мере:

Читать »

Модуль Math Free Pascal

Добавлено Дата: 25 May, 2014 категория: Free Pascal

Дополнительный набор подпрограмм вычисления элементарных (табл. 13.3) и специальных (табл. 13.4) функций сосредоточен в модуле Math.

Таблица 13.3. Элементарные функции и процедуры модуля Math

Читать »

Объявление советов, выполняемых и до, и после Spring

Добавлено Дата: 14 May, 2014 категория: Spring

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

Читать »

Выполнение заданий по расписанию и в фоновом режиме Spring

Добавлено Дата: 14 May, 2014 категория: Spring

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

Читать »

Переопределения и обратные вызовы – Android

Добавлено Дата: 17 August, 2013 категория: Разработка для Android

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

Чтобы создать точку расширения для добавления обратного вызова, в классе определяются две вещи. Во-первых, определяется интерфейс Java (обычно его название заканчивается на Handler, Callback или Listener). Этот интерфейс описывает, но не реализует действие обратного вызова. Кроме того, класс определяет метод-установщик, принимающий в качестве аргумента тот объект, который реализует интерфейс.

Читать »

Конструктор БД в Android приложении

Добавлено Дата: 1 August, 2013 категория: Разработка для Android

 

Конструктор базы данных, присутствующий в этом поставщике, SimpleVideoDbHel per, использует функцию super для вызова своего родительского конструктора. Родительский конструктор выполняет всю основную работу по созданию объекта базы данных.

Читать »

Использование анонимных классов – JAVA ДЛЯ ANDROID

Добавлено Дата: 15 July, 2013 категория: Разработка для Android

 

Специалисты, имеющие опыт разработки пользовательских интерфейсов, знакомы с концепцией обратного вызова (callback): код должен получить уведомление, когда в пользовательском интерфейсе произойдет какое-либо изменение. Примеры таких изменений – нажатие кнопки или переход модели в какое-то новое состояние. Может быть, из сети пришли новые данные и их нужно отобразить. Вам понадобится способ добавления во фреймворк блока кода, который впоследствии будет выполняться по вашему требованию.

Читать »

Функция входа/выхода DLL

Добавлено Дата: 25 July, 2012 категория: Win32 API

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

Особое значение имеет деинициализация: поскольку при отключе­нии DLL от адресного пространства процесса вьщеленная ею память сама собой не освобождается, а открытые файлы не закрываются, DLL должна самостоятельно обеспечивать «уборку мусора».

Читать »

Воспроизведение звука в Windows

Добавлено Дата: 17 May, 2012 категория: Программирование звука

B то время, когда я пишу эти строки, Microsoft предлагает использовать новый интерфейс собственной разработки, называемый DirectSound. K сожалению, этот интерфейс появился совсем недавно и еще не получил широкой поддержки. Поэтому в этой книге я расскажу только о более старом интерфейсе wave. Основное различие между этими двумя интерфейсами заключается в длительности задержки: при использовании  DirectSound  непроизводительные  задержки  ниже,  что  позволяет очень быстро начинать воспроизведение звука. Хотя эта возможность необходима для разработки игр, для других приложений она не является столь важной.

Читать »

Объект file

Добавлено Дата: 1 May, 2012 категория: Ядро Linux

Последним  из основных объектов подсистемы VFS рассмотрим объект файла. Объект File используется для представления файлов, которые открыты процессом. Когда мы думаем о  подсистеме VFS с  точки зрения пространства пользователя, то объект файла — это то, что первое приходит в  голову. Процессы непосредственно работают с файлами, а не с суперблоками, индексами или элементами каталогов. Не удивительно, что информация,  которая содержится в объекте file, наиболее привычна (такие данные, как режим доступа или текущее смещение), а файловые операции очень похожи на знакомые системные вызовы, такие как rea d ()  и writ e ().

Читать »

Реализация системных вызовов

Добавлено Дата: 1 May, 2012 категория: Ядро Linux

Реализация системного вызова  в ОС  Linux  не  связана с поведением обработчика системных вызовов. Добавление нового  системного вызова  в операционной системе Linux  является сравнительно простым делом.  Тяжелая работа  связана с разработкой и реализацией самого   системного вызова.  Регистрация  его  в ядре  проста. Давайте рассмотрим шаги, которые необходимо предпринять, чтобы  написать новый системный  вызов  в операционной системе Linux.

Читать »

Управление процессами

Добавлено Дата: 15 April, 2012 категория: Ядро Linux

роцесс   одно  из  самых  важных  абстрактных понятий в Unix-подобных операционных системах1. По  сути, процесс—  это  программа, т.е.  объектный код, хранящийся на  каком-либо  носителе информации и  находящийся в  состоянии исполнения. Однако процесс — это  не  только  исполняемый программный код, который  для  операционной  системы Unix  часто  называется text section (сегмент  текста или  сегмент кода).  Процессы также  включают в себя  сегмент данных (data  section),  содержащий глобальные переменные;  набор   ресурсов,  таких  как  открытые файлы и ожидающие на  обработку сигналы; адресное пространство и один  или  более  потоков

Читать »

API, POSIX и библиотека С

Добавлено Дата: 5 April, 2012 категория: Ядро Linux

Обычно  прикладные  программы  не  разрабатываются  с  непосредственным  использованием  системных  вызовов,  при  этом  используются  программные  интерфейсы  приложений  (Application  Programing Interface,  API).  Это  является важным,  так как  в таком  случае нет необходимости  в корреляции  между интерфейсами, которые используют  приложения, и интерфейсами, которые  предоставляет  ядро.  Различные API  определяют набор  программных интерфейсов,  которые используются приложениями. Эти  интерфейсы могут  быть  реализованы с помощью одного  системного вызова,  нескольких  системных  вызовов,  а также  вообще  без использования системных вызовов.  В действительности,  может  существовать один  и  тот  же  программный интерфейс приложений для  различных операционных систем, в то  время  как  реализация  этих API может для разных  ОС   существенно  отличаться.

Читать »

Контекст системного  вызова

Добавлено Дата: 25 March, 2012 категория: Ядро Linux

Как уже обсуждалось в главе 3, "Управление процессами",  при выполнении  системного  вызова ядро работает в контексте  процесса.  Указатель curren t указывает на текущее задание, которое и есть процессом,  выполняющим системный вызов.

В контексте  процесса ядро может переходит в приостановленное состояние  (например,  если системный вызов блокируется при вызове функции или явно вызывает функцию  schedule ()), а также является полностью вытесняемым.  Эти два момента важны.  Возможность  переходить в приостановленное состояние  означает,  что системный  вызов может использовать большую часть функциональных возможностей ядра. Как будет видно из главы 6, "Прерывания  и обработка прерываний",  наличие возможности  переходить в приостановленное состояние значительно упрощает программирование  ядра7. Тот факт, что контекст процесса является  вытесняемым,  подразумевает,  что, как и в пространстве  пользователя,  текущее задание может быть вытеснено другим заданием. Так как новое задание может выполнить тот же системный  вызов,  необходимо убедиться, что системные  вызовы являются реентерабельными. Это очень похоже на требования,  выдвигаемые для симметричной  мультипроцессорной  обработки.  Способы  защиты,  которые обеспечивают реентерабельность, описаны  в главе 8, "Введение в синхронизацию выполнения  кода ядра", и в главе 9, "Средства синхронизации в ядре".

Читать »

Обработка системных вызовов

Добавлено Дата: 21 March, 2012 категория: Ядро Linux

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

Читать »