Использование легковесных процессов

Данный раздел посвящен работе с потоками (в некоторых других источниках они получили название легковесные процессы). Поток – отдельная выполняемая последовательность в программе. Фактически поток – это способ реализации многозадачности в Java. Потоки используются при решении многих задач: анимация; воспроизведение и обработка звуковых данных; обновление и восстановление информации в фоновом режиме; ожидание и обработка информации, поступающей по сети. При запуске поток получает в свое распоряжение определенную долю ресурсов процессора и, в дальнейшем, работает уже с ней. Говорят, что поток имеет «тело», которое содержит операторы, оно находится в методе run(). Реализация потока Java предусматривает две…

Read More
Текущее время  и дата Наука  Наука 

Текущее время и дата

Как узнать текущую дату и время в разных часовых поясах.  LocalTime Из данного примера видно как узнать местное время, используя класс LocateTime. Этот класс представляет информацию о текущем времени без учета часового пояса, и не включает информацию о дате. Формат представления данных часы-минуты-секунды. Данный класс является неизменным (immutable) и показывает только время. Для того, чтобы узнать время в определенной часовой зоне, в качестве параметра необходимо передать ее ID, который определяем по карте часовых зон, которая приведена ниже. package java1; import java.time.Clock; import java.time.LocalTime; import java.time.ZoneId; public class Test { public static…

Read More
Полиморфизм, абстрактные классы Наука  Наука 

Полиморфизм, абстрактные классы

В данной статье рассмотрим на примере явление полиморфизма, понятие абстрактного класса и интерфейса Кратко суть полиморфизма можно выразить фразой: «Один интерфейс, множество реализаций». Полиморфизм реализуется с помощью наследования классов. Класс-родитель содержит методы, которые предназначены для наследования. Реализацию эти методы получают в классе-потомке, поэтому возможно для разных классов-потомков получить разную реализацию метода. Например мы хотим смоделировать поведение разных животных — кошка, собака, лягушка. Каждый класс является потомком класса Животные, содержащий метод Голос. Каждый производный класс реализует метод Голос. При вызове этого метода в каждом производном классе, реализация этого метода для каждого…

Read More
Связанный список Наука  Наука 

Связанный список

Связанный список представляет собой линейную последовательность объектов, называемых узлами, узлы соединены между собой посредством ссылок. Как правило, программа получает доступ к связанному списку через первый элемент списка. Доступ к каждому последующему элементу осуществляется через ссылку, сохраненную в предыдущем узле. По соглашению, ссылка в последнем узле устанавливается в NULL для обозначения конца списка. Данные хранятся в связанном списке динамически, т.е. программа создает для каждый следующий узел по мере необходимости. Узел может содержать данные любого типа, включая ссылки на объекты других классов. Стеки и очереди являются также линейными структуры данных и представляют…

Read More
Бинарные деревья. Обход в прямом порядке Наука  Наука 

Бинарные деревья. Обход в прямом порядке

Связные списки, стеки и очереди являются линейными структурами данных (это последовательности). Деревья представляют собой нелинейную двумерную структуру данных со специальными свойствами. Узлы дерева содержат две или более ссылок. В этом примере рассматриваются бинарные деревья, т.е. деревья, узлы которого содержат по две ссылки (одна или обе из которых могут быть NULL). Корневой узел является первым узлом дерева. Каждая ссылка в корневом узле указывает на дочерний узел или узел-потомок. Левый узел-потомок является первым узлом в левом поддереве, а правый узел-потомок является первым узлом в правом поддереве. Узлы-потомки, принадлежащие одному какому-либо узлу, называются…

Read More