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

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

1. Обзор

Форматирование строк и генерация текстового вывода часто возникают во время программирования. Во многих случаях необходимо добавить новую строку в строку для форматирования вывода.

Давайте обсудим, как использовать символы новой строки.

2. Добавление символов новой строки в строку

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

1. Обзор

API процесса в Java был довольно примитивным до Java 5, единственным способом создать новый процесс было использование API Runtime.getRuntime().exec() . Затем в Java 5 был представлен API-интерфейс ProcessBuilder , который поддерживал более чистый способ создания новых процессов.

В Java 9 добавлен новый способ получения информации о текущих и любых порожденных процессах.

В этой статье мы рассмотрим оба этих улучшения.

2. Текущая информация о процессе Java

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

1. Обзор

В этой статье мы рассмотрим реактивные потоки Java 9. Проще говоря, мы сможем использовать класс Flow , который содержит основные строительные блоки для построения логики обработки реактивного потока.

Reactive Streams — это стандарт для асинхронной обработки потоков с неблокирующим обратным давлением. Эта спецификация определена в Reactive Manifesto , и существуют различные ее реализации, например, RxJava или Akka-Streams.

2. Обзор реактивного API

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

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

1. Весна и Ява

>> Экономия времени благодаря структурированному ведению журнала [ Reflectoring.io ]

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

>> Мягкое удаление в Hibernate: вещи, которые вы можете пропустить [ jpa-buddy.com ]

Как мягкое удаление в Hibernate работает с различными типами выборки, а также с ассоциациями «один к одному» и «многие к одному» — определенно полезно прочитать!

Также стоит прочитать:

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

1. Введение

В этом руководстве мы собираемся обсудить, как использовать MongoDB в качестве бесконечного потока данных, используя хвостовые курсоры с Spring Data MongoDB .

2. Хвостовые курсоры

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

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

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

1. Обзор

Тип перечисления Java предоставляет `` поддерживаемый языком способ создания и использования постоянных значений. Определяя конечный набор значений, перечисление более безопасно для типов, чем константные литеральные переменные, такие как String или int .

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

Учитывая эти ограничения, значение enum само по себе не подходит для удобочитаемых строк или нестроковых значений.

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

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

1. Обзор

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

2. Битовая маска

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

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

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

1. Введение

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

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

2. Что такое геопространственные приложения?

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

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

1. Введение

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

Кроме того, при работе с несколькими службами, развернутыми в данной среде, эти документы YAML, как правило, содержат много повторяющихся элементов. Например, мы можем захотеть добавить данный ConfigMap или некоторые контейнеры sidecar во все развертывания.

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

2. Что такое контроллер доступа?

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

1. Обзор

Длительность — это количество времени, выраженное в часах, минутах, секундах, миллисекундах и т. д. Мы можем захотеть отформатировать продолжительность в какой-то конкретный шаблон времени.

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

В этом кратком руководстве мы рассмотрим, как написать простой код для форматирования заданной длительности в формате ЧЧ:ММ:СС.

2. Java-решения