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

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

1. Введение

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

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

Дампы кучи обычно хранятся в файлах hprof двоичного формата. Мы можем открывать и анализировать эти файлы с помощью таких инструментов, как jhat или JVisualVM. Кроме того, пользователи Eclipse очень часто используют MAT .

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

2. Инструменты JDK

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

1. Обзор

Когда нам нужно найти или заменить значения в строке в Java, мы обычно используем регулярные выражения . Они позволяют нам определить, соответствует ли часть или вся строка шаблону. Мы можем легко применить одну и ту же замену к нескольким токенам в строке с помощью метода replaceAll как в Matcher , так и в String .

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

Мы также рассмотрим несколько приемов настройки наших регулярных выражений для правильной идентификации токенов.

2. Индивидуальная обработка совпадений

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

1. Обзор

Иногда нам нужно удалить все теги HTML и извлечь текст из строки документа HTML.

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

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

2. Использование регулярных выражений

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

1. Обзор

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

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

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

Предположим, нам нужно разделить следующий ввод, разделенный запятыми:

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

1. Обзор

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

Мы рассмотрим решения до Java 8, после Java 8 и с использованием Apache Commons Validator .

2. Обзор проверки даты

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

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

1. Весна и Ява

>> Области кучи X-Large [ tschatzl.github.io ]

История огромных объектов и G1 GC — как Java 18 улучшает способ обработки больших объектов. Прочное чтение.

>> Новая сборка и новый структурированный API параллелизма [ openjdk.java.net ]

Давайте попробуем новую сборку для ткацкого станка проекта: введение StructuredExecutor для структурированного параллелизма и виртуальных потоков в качестве очистителей .

>> Собственный образ с Spring Boot [ blog.frankel.ch ]

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

1. Введение

В этом руководстве мы узнаем об ограничении результатов запроса с помощью JPA и Spring Data JPA .

Во-первых, мы рассмотрим таблицу, которую мы хотим запросить, а также SQL-запрос, который мы хотим воспроизвести.

Затем мы углубимся в то, как этого добиться с помощью JPA и Spring Data JPA.

Давайте начнем!

2. Тестовые данные

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

1. Обзор

В этом руководстве мы рассмотрим использование Mapped Diagnostic Context (MDC) для улучшения ведения журнала приложения.

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

2. Зачем использовать MDC

Предположим, нам нужно написать программу для перевода денег.

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

1. Обзор

В этом кратком руководстве мы обсудим причины и способы устранения ошибки «Не удалось настроить источник данных» в проекте Spring Boot.

Мы решим проблему, используя два разных подхода:

  1. Определение источника данных
  2. Отключение автоконфигурации источника данных

2. Проблема

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

1. Обзор

Apache Kafka — мощная, распределенная, отказоустойчивая система обработки потоков. В предыдущем уроке мы узнали, как работать со Spring и Kafka .

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

Во-первых, мы начнем с рассмотрения того, как использовать и настраивать встроенный экземпляр Kafka.

Затем мы увидим, как мы можем использовать популярный фреймворк Testcontainers из наших тестов.

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