Рубрика Java для опытных

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

Применение абстрактных классов в Java

Иногда суперкласс требуется определить таким образом, чтобы объявить в нем структуру заданной абстракции, не предоставляя полную реализацию каждого ме­тода Это означает создать суперкласс, определяющий только обобщенную форму для совместного использования всеми его подклассами, в каждом из которых могут быть добавлены…

Что такое обобщения, простой пример реализации в Java

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

Асинхронные сервлеты Java

До сих пор вы видели, что можете преобразовать любой метод компонента в асин­хронный метод. Теперь вы увидите, как заставить асинхронно функционировать сервлет. Без наличия асинхронной поддержки в сервлетах нелегко отвечать требо­ваниям асинхронности при веб-разработке. Спецификация Servlet 3.0 (JSR 315) внесла…

Интерфейс SortedSet Java — описание и примеры

Интерфейс SortedSet расширяет интерфейс Set и определяет поведение множеств, отсортированных в порядке возрастания. Интерфейс SortedSet является обобщенным и объявляется приведенным ниже образом, где E обозначает тип объектов, которые должно содержать множество.

Помимо методов, предоставляемых интерфейсом Set, в интерфейсе SortedSet…

Применение методов isAlive() и join() Java

Нередко требуется, чтобы главный поток исполнения завершался последним. С этой целью метод sleep() вызывался в предыдущих примерах из метода main() с достаточной задержкой, чтобы все дочерние потоки исполнения завершились раньше главного. Но это неудовлетворительное реше­ние, вызывающее следующий серьезный вопрос: откуда…

Реализация интерфейса runnable Java

Самый простой способ создать поток исполнения состоит в том, чтобы объ­явить класс, реализующий интерфейс Runnable. Этот интерфейс предоставляет абстракцию единицы исполняемого кода. Поток исполнения можно создать из объекта любого класса, реализующего интерфейс Runnable. Для реализации ин­терфейса Runnable в классе должен…

Определение класса в Java

Для того чтобы проиллюстрировать особенности создания классов на языке Java, создадим класс, инкапсулирующий сведения о транспортных средствах, например, о легковых автомобилях, фургонах и грузовиках. Назовем этот класс Vehicle. В нем будут хранить­ся следующие сведения: количество пассажиров, емкость топливного бака и…

Каскадное и мозаичное расположение фреймов Java

В операционной системе Windows предусмотрено несколько команд для организации каскадного(cascading) расположения фреймов с перекрытием(см. рис. 1) и мозаичного(tiling) расположения фреймов безе перекрытия(см. рис. 2). Однако в классах JDesktopPane и JInternalFrame не предусмотрено никаких средств для поддержки этих операций. В программе…

Изменение отслеживания в текстовых компонентах Java

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

Загрузчики классов Java

Компилятор Java преобразует исходные инструкции в понятный для виртуальной машины Java код. Этот код сохраняется в файле класса с расширением .class. В каждом файле класса содержится код определения и реализации для только одного класса или интерфейса. Далее все эти файлы…