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

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

1. Обзор

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

В Java 5 впервые появилось ключевое слово enum . Он обозначает особый тип класса, который всегда расширяет класс java.lang.Enum . Официальную документацию по использованию мы можем найти в документации .

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

Вот быстрый и простой пример перечисления, определяющего статус заказа на пиццу; статус заказа может быть ЗАКАЗАН , ГОТОВ или ДОСТАВЛЕН :

public enum PizzaStatus {
ORDERED,
READY,
DELIVERED;
}

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

1. Введение

В нашей предыдущей статье мы рассмотрели возможность расширения нашей информационной панели для хранения и отображения отдельных событий от Мстителей с помощью DataStax Astra , бессерверной DBaaS на базе Apache Cassandra с использованием Stargate , чтобы предложить дополнительные API для работы с ним.

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

Чтобы следовать этой статье, предполагается, что вы уже прочитали первую и вторую статьи в этой серии и у вас есть практические знания Java 16, Spring и, по крайней мере, понимание того, что Cassandra может предложить для данных. хранения и доступа. Также может быть проще открыть код из GitHub рядом со статьей, чтобы следовать ей.

2. Настройка службы

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

1. Введение

В нашей предыдущей статье мы рассмотрели создание дашборда для просмотра текущего состояния Мстителей с помощью DataStax Astra , DBaaS на базе Apache Cassandra с использованием Stargate , чтобы предложить дополнительные API для работы с ним.

./6526c98e68bbc7a542d4deb81501c531.png

Панель статуса Мстителей, созданная с помощью Кассандры и Звездных врат

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

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

2. Создание схемы базы данных

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

1. Введение

В этой статье мы собираемся создать «Панель состояния Мстителей Тони Старка», которую Мстители используют для отслеживания статуса членов команды.

Это будет построено с использованием DataStax Astra , DBaaS на базе Apache Cassandra с использованием Stargate , чтобы предложить дополнительные API для работы с ним. Кроме того, мы будем использовать приложение Spring Boot для отображения приборной панели и демонстрации того, что происходит.

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

2. Что такое Астра?

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

1. Обзор

Идентификаторы в Hibernate представляют собой первичный ключ объекта. Это означает, что значения уникальны, так что они могут идентифицировать конкретный объект, что они не являются нулевыми и что они не будут изменены.

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

2. Простые идентификаторы

Самый простой способ определить идентификатор — использовать аннотацию @Id .

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

1. Обзор

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

Эти основные библиотеки являются частью пакета java.util.zip , где мы можем найти все утилиты, связанные с архивированием и распаковкой.

2. Заархивируйте файл

Во-первых, давайте рассмотрим простую операцию, сжатие одного файла.

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

1. Введение

В API option обычно есть два метода, которые могут вызвать путаницу: orElse() и orElseGet() .

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

2. Подписи

Во-первых, давайте начнем с основ, взглянув на их подписи:

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

1. Введение

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

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

2. Память стека в Java

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

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

1. Обзор

Аннотация javax.persistence.JoinColumn помечает столбец как столбец соединения для ассоциации сущностей или коллекции элементов.

В этом кратком руководстве мы покажем несколько примеров базового использования @JoinColumn .

2. Пример сопоставления @OneToOne

Аннотация @JoinColumn в сочетании с сопоставлением @OneToOne указывает, что данный столбец в объекте-владельце ссылается на первичный ключ в ссылочном объекте:

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

1. Обзор

В этом руководстве мы увидим, как импортировать существующий проект Maven в Eclipse. Для этой цели мы можем использовать либо плагин Eclipse для Maven, либо плагин Apache Maven Eclipse .

2. Настройка проекта Eclipse и Maven

В нашем примере мы будем использовать последнюю версию Eclipse 2021-09 (4.21.0), которую мы получили со страницы загрузки Eclipse .

2.1. Пример проекта Maven