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

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

1. Обзор

Caffeine cache — это высокопроизводительная библиотека кеша для Java. В этом коротком руководстве мы увидим, как использовать его с Spring Boot .

2. Зависимости

Чтобы начать работу с Caffeine и Spring Boot, мы сначала добавляем зависимости spring-boot-starter-cache и caffeine : [](https://search.maven.org/artifact/com.github.ben-manes.caffeine/caffeine)

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
<dependency>
<groupId>com.github.ben-manes.caffeine</groupId>
<artifactId>caffeine</artifactId>
</dependency>
</dependencies>

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

1. Введение

За последние несколько лет IntelliJ от JetBrains быстро стала лучшей IDE для Java-разработчиков. В нашем последнем отчете о состоянии Java 61% респондентов выбрали IntelliJ по сравнению с 55% годом ранее.

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

В этом руководстве мы рассмотрим написание подключаемого модуля IntelliJ с использованием нового рекомендуемого способа с Gradle, чтобы продемонстрировать несколько способов расширения среды IDE. Эта статья представляет собой ремикс предыдущей , в которой описывается создание того же плагина с помощью Plugin Devkit.

2. Основные типы плагинов

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

1. Обзор

В этом кратком руководстве мы сосредоточимся на типе возвращаемого значения для конструктора в Java.

Во-первых, мы познакомимся с тем, как работает инициализация объектов в Java и JVM. Затем мы копнем глубже, чтобы увидеть, как инициализация и присваивание объектов работают «под капотом».

2. Инициализация экземпляра

Начнем с пустого класса:

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

1. Обзор

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

2. Постановка задачи

Как мы знаем, JPA (Java Persistence API) использует EntityManager для управления жизненным циклом Entity . В какой-то момент поставщику JPA необходимо присвоить значение первичному ключу. Итак, мы можем спросить себя, когда это происходит? И где документация, в которой это указано?

Спецификация JPA гласит:

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

1. Обзор

В дополнение к реализациям мы можем использовать механизм декларативного кэширования Spring для аннотирования интерфейсов . Например, мы можем объявить кэширование в репозитории Spring Data.

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

2. Начало работы

Сначала создадим простую модель:

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

1. Введение

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

В этом уроке мы рассмотрим эту ситуацию и предложим два способа избежать этой проблемы.

2. Как JVM обрабатывает файлы

Хотя JVM прекрасно изолирует нас от операционной системы, она делегирует низкоуровневые операции, такие как управление файлами, операционной системе.

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

1. Введение

В этой статье мы рассмотрим несколько вариантов, которые мы можем использовать в Java для получения номера недели для заданной даты. Мы начнем с рассмотрения нескольких вариантов устаревшего кода с использованием классов до Java 8. Затем мы рассмотрим более новый API Date Time в пакете java.time , представленном в Java 8.

2. До Java 8

До Java 8 вычисления даты и времени выполнялись в основном с использованием классов Date и Calendar . Обычно мы создаем Calendar , а затем можно извлечь из него нужную нам информацию, используя различные константы.

2.1. Получить номер недели с помощью полей календаря

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

1. Введение

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

2. Основные понятия

Прежде чем мы углубимся в детали работы Apache Druid, давайте сначала рассмотрим некоторые основные понятия. Область, которая нас интересует, — это массовая аналитика данных о событиях в реальном времени.

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

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

1. Обзор

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

В этом уроке мы рассмотрим, как мы можем решить эти проблемы, используя файловую систему в памяти Jimfs .

2. Введение в Jimfs

Jimfs — это файловая система в памяти, которая реализует Java NIO API и поддерживает почти все его функции. Это особенно полезно, поскольку означает, что мы можем эмулировать виртуальную файловую систему в памяти и взаимодействовать с ней, используя наш существующий слой java.nio .

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

1. Обзор

Рефлексия — это способность компьютерного программного обеспечения проверять свою структуру во время выполнения. В Java мы достигаем этого с помощью Java Reflection API . Это позволяет нам проверять элементы класса, такие как поля, методы или даже внутренние классы, во время выполнения.

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

2. Получение полей из класса

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