Внутреннее устройство Map.computeIfAbsent()
computeIfAbsent() — это не просто «get или put». Это атомарная операция с ленивым вычислением, которая решает классическую проблему che…
Читать далее →
Совет по Java: используйте Files.walk() для рекурсивной обработки файлов в директории.
Java библиотека
Читать далее →
Spring Boot DevTools - must-have для разработки DevTools делает жизнь проще: следит за изменениями в коде и конфиге и автоматически перезагружает прил…
Spring Boot DevTools - must-have для разработки
DevTools делает жизнь проще: следит за изменениями в коде и конфиге и автоматически перезагружает приложение.
Что даёт:
✅ Auto-restart при изменениях Java-классов
✅ Авто-рефреш application.properties / application.yml
✅ Быстрее итерации - меньше ручных рестартов, больше скорости разработки
Подключение (Maven):
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
</dependency>
Java библиотека
Магия IntelliJ IDEA: Stream Debugger
Дебажишь цепочку стримов из 5 операций? Breakpoint показывает только входную коллекцию. Чтобы понять, где отвалились элементы, приходится разб…
Читать далее →
Самый чистый современный паттерн Java для обработки ошибок (без выбрасывания исключений для ожидаемых случаев):
Использовать sealed interface + records + исчерпывающий pattern mat…
Читать далее →