Два способа закрытия потока ввода-вывода Java

Два способа закрытия потока ввода-вывода JavaКак правило, поток ввода-вывода следует закрыть, когда он больше не нужен. Если не сделать этого, может произойти утечка памяти и истощение ресурсов.

В версии JDK 7 появились два основных способа, которыми можно закрыть поток ввода-вывода. Первый способ подразумевает явный вызов метода close() для потока ввода-вывода. Это традиционный подход, который применялся с пер­вого выпуска Jаvа. При таком подходе метод close() обычно вызывается в блоке оператора finally. Ниже приведен упрощенный шаблон традиционного способа закрытия потока ввода-вывода.

Эта общая методика ( или ее разновидность) широ­ко применялась в коде, написанном до  появления версии JDК 7. Читать

Математические операторы Java

Математические операторы Java

Основные математические операторы остаются неизменными почти во всех языках программирования: сложение( + ), вычитание( - ), деление( / ), умножение( * ) и остаток от деления нацело( % ).

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

Введение в хеш-таблицы Java

Введение в хеш-таблицы Java

Хеш-таблицей называется структура данных, обеспечивающая очень быструю вставку и поиск. На первый взгляд звучит слишком хорошо, чтобы быть правдой: независимо от количества элементов данных вставка и поиск (а иногда и удаление) выполняются за время, близкое к постоянному: O(1) в O-синтаксисе. На практике это лишь несколько машинных команд.

Для пользователя хеш-таблицы обращение к данным происходит практически мгновенно. Все делается настолько быстро, что компьютерные программы часто используют хеш-таблицы при необходимости сделать выборку из десятков тысяч элементов менее чем за секунду (как, например, в системах проверки орфографии). Читать

[Урок 1] Строение связанного списка в Java

[Урок 1] Строение связанного списка в JavaВ связанном списке каждый элемент данных встраивается в специальный объект, называемый элементом списка (классу, на основе которого создаются такие объекты, часто присваивается имя Link ). Так как список содержит много однотипных элементов, для них удобно создать отдельный класс, отличный от класса самого связанного списка. Читать

Поиск информации с помощью XPath Java

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

Правило единственного потока Java

Правило единственного потока Java

Каждое приложение Java запускается с метода main(), который работает в главном потоке. В программе Swing главный поток живет кратковременно. Он планирует конструирование пользовательского интерфейса в потоке диспетчера событий и завершает свою работу.

После создания пользовательского интерфейса поток диспетчера событий обрабатывает уведомления о событиях наподобие вызовов actionPerformed() или paintComponent(). Другие потоки, такие как поток, отправляющий события в очередь, работают "за кулисами", но эти потоки невидимы прикладному программисту.

Раннее, в наших статьях, мы уже представили правило единственного потока: "не затрагивать компоненты Swing из любого потока, кроме потока диспетчера событий". Здесь мы глубже исследуем это правило. Читать

Работоспособные потоки Java

Работоспособные потоки JavaКак только вы вызовете метод start(), поток оказывается в работоспособном(runnable) состоянии. Работоспособный поток может в данный момент выполняться, а может и нет. Зависит от операционной системы - будет ли выделено потоку время на выполнение. Спецификация Java, однако не назысает это отдельным состоянием. Работающий поток также находится в "работоспособном" состоянии.

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

Создание диалоговых окон в Java

Создание диалоговых окон в JavaКак вы наверное уже знаете, для использования предопределенных диалоговых окон применяется класс JOptionPane. Теперь мы опишем, как "вручную" создать собственное диалоговое окно.

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

Для того чтобы реализовать такое окно, необходимо создать подкласс класса JDialog. По сути, это тот же процесс, которым мы воспользовались для создания главного окна приложения, расширяя класс JFrame. Читать

Битовые операции в языке Java

Битовые операции в языке JavaРаботая с любыми целочисленными типами, можно применять операции, непосредственно обрабатывающие биты, из которых состоят целые числа. Это значит, что для определения состояния отдельных битов числа можно использовать маски.

В языке Java есть следующие битовые операции: &("и"), |("или"), ^("исключающие или"), ~("не"). Например, если n - это целое число, то приведенное ниже выражение равно единице только в том случае, если четвертый бит в двоичном представлении числа равен единице. Читать