Перейти к основному содержимому

· 6 мин. чтения

1. Обзор

Часто реализации репозитория и DAO считаются взаимозаменяемыми, особенно в приложениях, ориентированных на данные. Это создает путаницу в их различиях.

В этой статье мы обсудим различия между шаблонами DAO и Repository.

2. Шаблон ДАО

Шаблон объекта доступа к данным, также известный как шаблон DAO , представляет собой абстракцию сохраняемости данных и считается более близким к базовому хранилищу, которое часто ориентировано на таблицы .

· 5 мин. чтения

1. Обзор

В этом руководстве мы обсудим шаблон DTO , что это такое, как и когда его использовать. К концу мы будем знать, как правильно его использовать.

2. Узор

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

· 4 мин. чтения

1. Обзор

В этом руководстве мы углубимся в паттерн Front Controller Pattern , часть корпоративных паттернов , определенных в книге Мартина Фаулера «Шаблоны архитектуры корпоративных приложений».

Фронт-контроллер определяется как «контроллер, который обрабатывает все запросы к веб-сайту». Он стоит перед веб-приложением и делегирует запросы последующим ресурсам. Он также предоставляет интерфейс для общего поведения, такого как безопасность, интернационализация и представление конкретных представлений определенным пользователям.

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

Front Controller объединяет всю обработку запросов, направляя запросы через один объект-обработчик.

2. Как это работает?

· 13 мин. чтения

1. Обзор

Domain-Driven Design (DDD) — это набор принципов и инструментов, которые помогают нам разрабатывать эффективную архитектуру программного обеспечения для повышения ценности бизнеса . Ограниченный контекст — один из центральных и важных шаблонов для спасения архитектуры от большого кома грязи путем разделения всего домена приложения на несколько семантически согласованных частей.

В то же время с помощью системы модулей Java 9 мы можем создавать сильно инкапсулированные модули.

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

2. Контексты, ограниченные DDD

· 6 мин. чтения

1. Обзор

В этом руководстве мы увидим, как мы можем добавить обмен сообщениями MQTT в проект Java, используя библиотеки, предоставленные проектом Eclipse Paho .

2. Учебник по MQTT

MQTT (MQ Telemetry Transport) — это протокол обмена сообщениями, который был создан для удовлетворения потребности в простом и легком методе передачи данных на устройства с низким энергопотреблением и с них, например, используемые в промышленных приложениях.

С ростом популярности устройств IoT (Интернет вещей) MQTT получил все более широкое распространение, что привело к его стандартизации OASIS и ISO.

· 5 мин. чтения

1. Обзор

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

2. Начальная загрузка сервера

Прежде чем мы начнем, мы должны знать об основных понятиях Netty , таких как канал, обработчик, кодировщик и декодер.

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

· 5 мин. чтения

1. Введение

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

Изменения в расписании выпуска включают обновление функций и уровней поддержки для версий Java. В целом эти изменения заметно отличаются от Java, поддерживаемой Oracle с 2010 года.

2. Почему шестимесячные релизы?

Для тех из нас, кто привык к исторически медленной частоте выпуска Java, это довольно значительное отклонение. Почему такое резкое изменение?

· 14 мин. чтения

1. Введение

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

2. Что такое транзакция?

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

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

· 6 мин. чтения

1. Обзор

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

Под капотом JVM включает в себя множество изящных приемов для оптимизации процесса управления памятью. Одним из приемов является использование сжатых указателей , которые мы собираемся оценить в этой статье. Во-первых, давайте посмотрим, как JVM представляет объекты во время выполнения.

2. Представление объекта во время выполнения

HotSpot JVM использует структуру данных, называемую oops или Ordinary Object Pointers , для представления объектов. Эти oop эквивалентны родным указателям C. instanceOop — это особый вид oop , который представляет экземпляры объектов в Java . Кроме того, JVM также поддерживает несколько других операций , которые хранятся в дереве исходного кода OpenJDK .

· 3 мин. чтения

1. Введение

В Java 11 появился сборщик мусора No-Op под названием Epsilon, который обещает наименьшие возможные накладные расходы на сборку мусора .

В этом кратком руководстве мы рассмотрим, как работает Epsilon, и упомянем распространенные варианты использования.

2. Быстрый практический опыт

Давайте начнем с того, что запачкаем руки и попробуем Epsilon GC!