Область видимости переменной в 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-сервер возвращает соответствующий ответ. Читать

Что такое паттерн проектирования MVC в Java?

Что такое паттерн проектирования MVC в Java?В паттерне «Модель — представление — контроллер» модель представляет данные приложения и связанную с ними бизнес-логику. Модель может быть представлена одним объектом или сложным графом связанных объектов. В приложении для плат­формы Java ЕЕ данные инкапсулируются в объектах предметной области, часто раз­вертываемых в EJB-модуле. Данные передаются в БД и из нее в объектах передачи данных (ОТО), и к ним обращаются с помощью объектов доступа к данным (ОАО).

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

Реализация паттерна «Наблюдатель» в простом коде Java

Реализация паттерна "Наблюдатель" в простом коде JavaЯзык Jаvа обеспечивает готовую для использования реализацию паттерна «Наблю­датель». Разработчики легко могут реализовать этот паттерн с помощью интерфей­са Observer и расширения класса Observable.

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

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

Асинхронные сервлеты JavaДо сих пор вы видели, что можете преобразовать любой метод компонента в асин­хронный метод. Теперь вы увидите, как заставить асинхронно функционировать
сервлет. Без наличия асинхронной поддержки в сервлетах нелегко отвечать требо­ваниям асинхронности при веб-разработке.

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

Асинхронные сервлеты основываются на ключевом усовершенствовании в HyperText Traпsfer Protocol (НТТР) 1.1, сделавшем возможными постоянные со­единения. В НТТР 1.0 каждое соединение использовалось для отправки и получения только одной пары «запрос/ответ«; в то же время НТТР 1.1 позволяет веб-приложе­ниям поддерживать соединение в активном состоянии и посылать множественные запросы. Читать

Реализация паттерна «Асинхронность» в простом коде Java

Реализация паттерна "Асинхронность" в простом коде JavaЯзык Jаvа с самого начала поддерживал потоки, которые вы легко можете исполь­зовать для выполнения асинхронного кода:

Для выполнения класса Runnable инициализируйте его в потоке и вызовите метод run, обратившись к методу start() только что созданного потока. Читать

Что такое асинхронное программирование Java

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

Асинхронные обращения используются даже в одногопоточных средах, таких как NodeJS. Почти все пользовательские интерфейсы поддерживают асинхронное выполнение для удержания UI в активном, реагирующем на действия пользовате­ля состоянии.

Тем не менее асинхронное программирование может быть полезным и в других местах, помимо пользовательских интерфейсов, обычно на серверной стороне. Hи J2SE, ни J2ЕЕ не предоставляли встроенной «легкой» реализации для асинхрон­ного программирования. Читать

Где и когда использовать паттерн «Декоратор» Java

Где и когда использовать паттерн "Декоратор" JavaПаттерн «Декоратор» Java динамически добавляет объекту поведение во время выпол­нения или тогда, когда невозможно или нецелесообразно создавать производные классы (возможно, потому, что при этом создаются множественные подклассы).

Пример с пиццерией показывает, как добавить поведение к объекту пиццы во вре­мя выполнения на основе сделанного посетителем выбора.

Функциональность интерфейса программирования приложений (API) может быть расширена и усовершенствована посредством оборачивания в декоратор. Подобным образом часто декорируются потоки данных. java.iо.BufferedInputStream — хороший пример декоратора, оборачивающего низкоуровневое API и добавля­ющего функциональность буферу потока ввода. Читать

Реализация паттерна «Декоратор» в простом коде Java

Реализация паттерна "Декоратор" в простом коде JavaЕсли классы находятся на стадии проектирования, будет несложно добавить деко­раторы. Однако если необходимо снабдить декоратором существующую систему, вам может понадобиться переделать некоторые классы. Например, целевой класс должен реализовывать тот же интерфейс, что реализует декоратор.

Эта статья демонстрирует применение паттерна «Декоратор» при разработке упрощенной РОS-системы для пиццерии. В данной статье сможете прочитать где использовать паттерн декоратор. Каждая пицца может быть украшена дополнительными начинками, такими как двойной сыр и бесплатный чили.

Во-первых, вам предстоит создать интерфейс Order, реализуемый с помощью класса Pizza и абстрактного класса декоратора Extra. Класс Extra расширяется классами добавочных начинок: DoubleExtra, NoCostExtra и RegularExtra. Читать