Класс Semaphore, примеры реализации кода в Java

Класс Semaphore, примеры реализации кода в JavaПервым сразу же распознаваемым среди объектов синхронизации является семафор, реализуемый в классе Semaphore.

Семафор управляет доступом к обще­му ресурсу с помощью счетчика. Если счетчик больше нуля, доступ разрешается,а если он равен нулю, то в доступе будет отказано.

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

Продвижение сайта в Краснодаре

Продвижение сайта в КраснодареС развитием Интернета бизнесу приходится подстраиваться под современные реалии. Те, кто этого не делает, быстро оказываются никому не нужными.

Но у всех остальных тоже могут возникнуть проблемы, если они подойдут к вопросу без должного внимания. Читать

Профессиональная компьютерная помощь вашим гаджетам — ремонт ноутбуков с выездом на дом

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

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

Автоматическое закрытие файлов в Java

Автоматическое закрытие файлов в JavaВо многих Java программ, для закрытия фай­лов, которые больше не нужны, метод close() вызывается явным образом.

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

Однако в версию JDK 7 включено новое средство, предоставляющее другой, более рациональный способ управления ресурсами,в том числе и потоками файлового ввода-вывода, автоматизирующий процесс закрытия файлов.

Этот способ основывается на новой разновидности оператора try, называемой оператором try с ресурсами, а иногда еще — автоматическим управлением ресурсами. Читать

Переменное число аргументов методов языка Java

Переменное число аргументов методов языка JavaИногда оказываются полезными методы, способные принимать переменное чис­ло аргументов.

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

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

До версии J2SE5 для поддержки списков аргументов переменной длины применя­лись два способа, ни один из которых не был особенно удобен. Читать

Вложенные и внутренние классы Java

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

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

Вложенный класс не может существовать независимо от класса, в который он вло­жен. Следовательно, область действия вложенного класса ограничена его внешним классом. Если вложенный класс объявлен в пределах области действия внешнего класса, то он становится членом последнего. Имеется также возможность объявить вложенный класс, который станет локальным в пределах блока. Читать

Перегрузка методов класса в Java

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

Перегрузка методов является одним из способов реализации принципа полиморфизма в Java.

Для того чтобы перегрузить метод, достаточно объявить его новый вариант, отлича­ющийся от уже существующих, а все остальное сделает компилятор. Нужно лишь со­блюсти одно условие: тип и/или число параметров в каждом из перегружаемых методов должны быть разными.

Одного лишь различия в типах возвращаемых значений для этой цели недостаточно. (Информации о возвращаемом типе не всегда будет хватать Java для принятия решения о том, какой именно метод должен использоваться.) Читать

Область видимости переменной в Java

Область видимости переменной в Java

Переменная, которая объявляется внутри метода, доступна только в пределах этого метода — ее так называемая область видимости ограничена данным методом, в котором она объявлена.

Это означает, что в другом методе можно объявить переменную с точно таким же име-нем без какого-либо конфликта.

Давайте мы с вами создадим программу постепенно, где увидите что и как используется: Читать

Коллекции в Java: что это такое и зачем они нужны

Коллекции в Java: что это такое и зачем они нужныВ пакете java.util содержится библиотека коллекций(collection framework), которая предоставляет большие возможности для работы с множествами, хэш-таблицами, векторами, разными видами списков и т.д.

Коллекция — это объект, способный хранить группу одинаковых элементов. Она содержит методы для операций с однородными данными. Изначально Java поддерживала работу с коллекциями в рамках классов Vector и Hashtable, но с появлением JDK 1.2 возможности работы с коллекциями были расширены, возникло много открытых интерфейсов и различных видов классов, которые были включены в библиотеку коллекций. Читать

Что такое веб-сокеты Java

Что такое веб-сокеты JavaВеб-сокеты (WebSockets ), возможно, самое интересное нововведение в веб-техноло­гиях со времен появления «Aсинxpoннoгo JavaScript и XML»(AJAX). Они стали популярными с выходом HTML5 и поддерживаются множеством веб-фреймворков.

Однако потребовалось немало времени для создания стабильной и совместимой спе­цификации веб-сокетов.

Модель протокола передачи гипертекста (НТТР) была спроектирована задол­го до того, как стал популярен Интернет, она основывается на простых специфи­кации и дизайне. В традиционной модели НТТР клиент открывает соединение с сервером прикладной части, отправляет HTTP-запрос типа GET, POST, PUT или DELETE, а HTTP-сервер возвращает соответствующий ответ. Читать