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

Сборка мусора и метод finalize

Добавлено Дата: 12 April, 2012 категория: Java

Java выполняет всю сборку программного мусора автоматически и избавляет вас от необходимости явного освобождения объектов.

Проще говоря, это означает, что память, занимаемая неиспользуемым  объектом, может быть возвращена в систему. При этом никаких действий с вашей стороны не требуется — в сущности, вы ничего и не сможете сделать. Объект является “неиспользуемым”,  когда на него отсутствуют ссылки в статических данных и в любой из переменных

Читать »

Класс BitSet

Добавлено Дата: 7 April, 2012 категория: Java

позволяет создать битовый вектор, размер которого изменяется динамически. Фактически BitSet представляет собой набор битов со значениями true или false размером до 232–1, причем изначально все биты равны false. Для хранения набора выделяется объем памяти, необходимый для хранения вектора вплоть до старшего бита, который устанавливался или сбрасывался в программе — все превышающие его биты считаются равными false.

Читать »

Метод main

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

Детали запуска Java-приложений  могут отличаться для разных систем, но всегда необходимо указать имя класса, который управляет работой приложения. При запуске программы на Java система находит и запускает метод main этого класса. должен быть объявлен как public, static и void (то есть не возвращающий никакого значения), и ему должен передаваться один аргумент типа String[]. Приведем пример метода main, выводящего значения своих параметров:

Читать »

Секвентные блокировки

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

Секвентная блокировка (seq  lock) — это  новый тип  блокировки, который появился  в ядрах  серии   2.6.  Эти  блокировки предоставляют очень  простой механизм чтения  и  записи  совместно  используемых данных.  Работа  таких  блокировок основана на  счетчике последовательности событий.  Перед  записью рассматриваемых данных захватывается спин-блокировка,  и  значение  счетчика увеличивается на  единицу. После  записи данных  значение счетчика снова  увеличивается на  единицу, и  спинблокировка освобождается, давая  возможность записи другим  потокам. Перед  чтением  и  после  чтения данных  проверяется значение счетчика. Если  два  полученных значения одинаковы, то  во время  чтения данных  новый акт  записи не  начинался, Если  к  тому  же  оба  эти  значения четные, то  к  моменту начала  чтения акт  записи был  закончен (при  захвате  блокировки на  запись значение счетчика становится нечетным, а перед  освобождением — снова  четным, так как  изначальное значение счетчика  равно  нулю).

Читать »

Заплаты, разработка и сообщество

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

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

Читать »

Типы ktyp e

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

Объекты kobjec t могут быть связаны с определенным типом, который называется ktype. Типы  ktype представляются с помощью структуры struc t  kobj_type, определенной в файле <linux/kobject.h > следующим образом.

struct kobj_type {

void (*release)(struct kobject *) ; struct sysfs_ops       *sysfs_ops; struct attribute       **default_attrs;

Читать »

Создание оболочки потока

Добавлено Дата: 31 March, 2012 категория: Silverlight

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

Читать »

Массивы

Добавлено Дата: 27 March, 2012 категория: Java

Предположим, программа должна сохранить имена четырёх игрoков. Вместо того, чтобы объявлять четыре переменные типа String, можно объявить массив, который содержит четыре элемента типа String.  обозначаются с помощью квадратных скобок, помещённых после типа данных или после имени переменной:

Читать »

Некоторые другие слушатели событий

Добавлено Дата: 24 March, 2012 категория: Java

Существуют  и  другие  слушатели в  Java  в  пакете  java.awt,  которые неплохо  было бы знать:

?? Слушатель  фокуса (FocusListener) посылает сигнал вашему классу, когда компонент окна получает или теряет фокус. Например, говорят, что текстовое поле имеет фокус, если в нем мигает курсор.?? Слушатель  элемента (ItemListener) реагирует на выборэлементов  в обычном или выпадающем списке.?? Слушатель  клавиш (KeyListener) реагирует на  нажатияклавиш. ?? Слушатель  мыши  (MouseListener)  реагирует,  когда нажимают  на  кнопку  мыши,  или  она  входит  в  область компонента  окна или выходит из нее.?? Слушатель   движений   мыши  (MouseMotionListener) сообщает вам,  когда  мышь двигается  или  что-­?то тащит. Тащить (drag) означает двигать  мышь  с  нажатой  клавишей. ?? Слушатель окна (WindowListener)  дает  вам  шанс  уловить  моменты, когда пользователь открывает, закрывает,  уходит  из окна или заходит в него.В  следующей таблице вы увидите имена интерфейсов слушателей, иметоды,  которые эти интерфейсы объявляют.

Читать »

Создание нестандартных Представлений

Добавлено Дата: 19 March, 2012 категория: Разработка для Android

Создавая полностью новые Представления, вы получаете полный контроль над формированием внешнего вида и поведением  своих программ. Можно создавать  пользовательские интерфейсы, которые идеально  подходят  под нужды пользователей. Чтобы выполнить новый элемент с чистого листа, не- обходимо наследовать один из двух классов — либо View, либо SurfaceView.

Читать »

Получение промышленного слепка MD5

Добавлено Дата: 18 March, 2012 категория: Разработка для Android

Прежде  чем скомпилировать и подписать  приложение для выпуска, нужно получить ключ к API карт, используя слепок MD5 для вашего про- мышленного  сертификата.

Найдите  слепок MD5  с помощью команды keytool, укажите  параметр

-list, имя хранилища  с ключами  и псевдоним, который  использовали при подписи своего приложения.

Читать »

Создание виджетов

Добавлено Дата: 13 March, 2012 категория: Разработка для Android

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

Читать »

Архитектор – прежде всего разработчик

Добавлено Дата: 12 March, 2012 категория: Архитектура ПО

Майк Браун

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

Читать »

Критические секции

Добавлено Дата: 8 March, 2012 категория: Delphi

представляют собой  один  из  самых  простых способов син хронизации потоков. Критическая секция (critical section) — это участок кода, который в каждый  момент времени может  выполняться только  одним  из  потоков. Если  код, используемый для инициализации массива,  поместить в критическую секцию, то дру гие потоки не смогут использовать этот  участок  кода до тех пор,  пока  первый поток не завершит его выполнение.

Читать »

Синхронизация с подпрограммами библиотеки  VCL

Добавлено Дата: 7 March, 2012 категория: Delphi

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

Читать »