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

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

1. Обзор

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

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

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

Давайте добавим в наш проект зависимость Spring WebFlux, чтобы мы могли создавать реактивные потоки:

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

1. Обзор

В предыдущем уроке мы показали, как архивировать и распаковывать в Java с помощью пакета java.util.zip . Но у нас нет стандартной библиотеки Java для создания защищенных паролем zip-файлов.

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

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

Начнем с добавления зависимости zip4j в наш файл pom.xml :

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

1. Обзор

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

2. Информация об отладке класса

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

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

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

1. Обзор

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

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

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

2. Что такое Git?

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

1. Обзор

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

В этой статье мы рассмотрим некоторые из этих новых функций.

2. Вызов методов по умолчанию из экземпляров прокси (JDK-8159746)

В качестве улучшения метода по умолчанию в интерфейсах с выпуском Java 16 была добавлена поддержка java.lang.reflect.InvocationHandler для вызова методов интерфейса по умолчанию через динамический прокси с использованием отражения.

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

1. Введение

3DES или алгоритм тройного шифрования данных — это блочный шифр с симметричным ключом, который трижды применяет алгоритм шифрования DES к каждому блоку данных.

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

2. Генерация секретного ключа

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

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

1. Обзор

Раньше платформа Java имела монолитную архитектуру, объединяющую все пакеты в единое целое.

В Java 9 это было упрощено с введением системы Java Platform Module System (JPMS) или модулей для краткости. Связанные пакеты были сгруппированы в модули, а модули заменили пакеты и стали основной единицей повторного использования .

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

2. Простой пример

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

1. Обзор

В этом руководстве мы узнаем о механизме базы данных Apache Derby, который представляет собой механизм реляционной базы данных на основе Java, разработанный Apache Software Foundation в качестве проекта с открытым исходным кодом.

Мы начнем с его установки и настройки, а затем рассмотрим инструменты, которые он предоставляет для взаимодействия с ним. После создания образца базы данных мы узнаем, как выполнять команды SQL с помощью инструментов командной строки Derby. Наконец, мы увидим, как подключиться к базе данных программно, используя простой JDBC и приложение Spring Boot.

2. Режимы развертывания

Apache Derby имеет два основных варианта развертывания: простой встроенный вариант и вариант клиент/сервер.

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

1. Обзор

В этом руководстве мы рассмотрим различные подходы к преобразованию массива байтов в числовое значение ( int , long , float , double ) и наоборот.

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

Поскольку типы short и char состоят всего из двух байтов, они не требуют особого внимания. Итак, мы сосредоточимся на преобразовании между байтовым массивом и типами int , long , float и double .

2. Использование операторов сдвига

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

1. Обзор

В этом руководстве мы узнаем о четырех способах получения имени класса из методов API класса : getSimpleName() , getName() , getTypeName() и getCanonicalName() . ``

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

2. Получение простого имени

Начнем с метода getSimpleName() .