Java guru
5.42K subscribers
1 photo
1 video
1 file
262 links
Новости из мира Java, обзоры интересных библиотек и фреймворков, обучающие статьи. Онлайн обсуждения актуальных тем и обмен опытом. Для связи @RodmanDV
Download Telegram
В Spring Boot 3.2 появилась поддержка Virtual Threads и новых RestClient и JdbcClient

Оперативненько надо признать )) Helidon задал тренд. Помимо виртуальных потоков там появилась еще поддержка
Coordinated Restore at Checkpoint (CRaC).

Для того чтобы использовать виртуальные потоки в Spring Boot 3.2 вам нужно будет добавить в конфигурацию параметр spring.threads.virtual.enabled и выставить ему true. Не забываем что все это будет работать только на Java 21 ))

Очень круто! Я безмерно рад ))

https://www.infoq.com/news/2023/12/spring-boot-virtual-threads/
🔥62
Интеграция Keycloak в приложение Spring Boot 3 с использованием протокола OAuth2.0

В данной статье представлен процесс интеграции Keycloak в приложение Spring Boot 3 в качестве сервера авторизации с использованием протокола OAuth2.

Keycloak - это средство с открытым исходным кодом, предоставляющее полнофункциональную платформу для управления идентичностью и доступом.

https://habr.com/ru/companies/axenix/articles/780422/
👍3🔥3
Идемпотентность: больше, чем кажется

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

https://habr.com/ru/companies/domclick/articles/779872/
👍2🔥2
Быстрый старт. SpringBoot + RabbitMQ

Довольно простой и понятный пример работы с RabbitMQ. Для демонстрации сделано одно приложение для отправки сообщений и два на чтение.

https://habr.com/ru/articles/782234/
👍5
Spring prototype при помощи Lookup

В статье разбирается пример работы с бином со скоупом prototype при помощи аннотации @Lookup.

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

https://habr.com/ru/articles/782656/
👍3
Поздравляю всех с Новым Годом! Желаю исполнения всех ваших желаний и большого здоровья! Пусть ваш код всегда компилируется с первого раза и не содержит багов )))
🎄124👏4
ChatGPT на Java. Пишем «Hello World» на Spring AI

Spring AI предлагает абстракции в виде функциональных интерфейсов, благодаря которым можно быстро и с разными параметрами вызывать нейронки. Основа - это ChatClient с имплементациями для OpenAI и Azure.

https://habr.com/ru/articles/784128/
🔥3👍1👎1
JWT-аутентификация при помощи Spring Boot 3 и Spring Security 6

Новая версия, Spring Security 6, изменяет некоторые базовые реализации, а русскоязычных материалов на эту тему очень мало. В этой статье мы рассмотрим JWT-аутентификацию и авторизацию с помощью Spring Boot 3 и Spring Security 6, чтобы помочь начинающем разработчикам разобраться и начать пользоваться базовым функционалом этой библиотеки. Цель статьи - показать, как использовать JWT-аутентификацию с API-интерфейсами. Будет разобрано как базовое использование, так и ролевая модель.

https://habr.com/ru/articles/784508/
🔥21
Создание и использование BOM в Gradle

Бывает так, что две библиотеки, например X и Y, требуют разные версии одной и той же транзитивной зависимости Z (snakeyaml, Google Guava, Apache Commons и т.п.). Такая ситуация называется конфликтом (или jar hell, когда это происходит в большом количестве).

В Maven разрешение конфликтов происходит не так как в Gradle. В нем по дефолту выбирается самая «свежая» версия из конфликтующих зависимостей.

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

./gradlew dependencyInsight --dependency org.yaml:snakeyaml

https://habr.com/ru/articles/784784/
👍2🔥2
JDK 21: The GCs keep getting better.

Статья про улучшение производительности сборки мусора в JDK 21 по сравнению с JDK 8. Сравнение делается бенчмарком SPECjbb® 20151 для демонстрации прироста производительности и обсуждает влияние новых фич.

https://kstefanj.github.io/2023/12/13/jdk-21-the-gcs-keep-getting-better.html
👍5
Class Data Sharing (CDS) в Spring 6.1.

Довольно интересная фича появилась начиная с Spring Framework 6.1. Class Data Sharing (CDS) позволяет сократить время старта приложения и потребляемую память за счет кеширования метаданных классов.

Технически можно кешировать метаданные и прикладных классов.

https://spring.io/blog/2023/12/04/cds-with-spring-framework-6-1/
🔥2😱1
String Templates in Java – why should you care?

Шаблоны строк это
preview feature, которая впервые была представлена в Java 21. Она существенно упростит конкантенацию строк, а также повысит безопасность.

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

https://blog.jetbrains.com/idea/2023/11/string-templates-in-java-why-should-you-care/
🔥4
Virtual Threads for Lightweight Concurrency and Other JVM Enhancements

Статья Рона Пресслера, который является архитектором в
Oracle Java Platform Group, а также тех лидом проекта Loom в Oracle. По ссылке есть видео выступления, а ниже транскрипт для тех кто любит читать. Очень интересное выступление. Рекомендую посмотреть.

https://www.infoq.com/presentations/virtual-threads-lightweight-concurrency/
🔥5
Project Loom. Не только виртуальные потоки

В статье мало «технического мяса», но она больше интересна комментариями под ней. Там идет дискуссия в которой сравнивают корутины Java и Kotlin.

В самой статье по факту рекламируется инструмент автора построенный вокруг непубличного API из JDK
jdk.internal.vm.Continuation


https://habr.com/ru/articles/785334/
👍2🥰1
11 reasons the new Java is not like the old Java

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

Рассмотрены:

1 Virtual threads
2 Structured concurrency
3 Immutable data
4 Garbage collection
5 Pattern matching
6 Streamlined syntax
7 Sealed classes
8 Foreign functions and memory
9 The Vector API
10 Improved null processing

https://www.infoworld.com/article/3711866/11-reasons-the-new-java-is-not-like-the-old-java.html#tk.rss_java
👍3🔥3
Планы Oracle по улучшению Java на 2024 год

Рассказано о том какие улучшения запланированы в таких проектах OpenJDK как Amber, Babylon, Leyden, Lilliput, Loom, Panama, Valhalla и на сколько жизнь разработчика станет прекрасна.

https://inside.java/2024/01/18/newscast-61/
👍3🔥2🤔1
Oh My Git — интерактивная игра для изучения Git.

Она визуализирует внутреннюю структуру Git-репозиториев в режиме реального времени. Получается очень наглядно.

https://ohmygit.org
🔥31👍1
Как сократить потребление памяти в интеграционных тестах с Kafka с помощью GraalVM

Довольно интересный опыт описан в статье по созданию нативного образа для EmbeddedKafka с использованием GraalVM. В теории можно поэкспериментировать подобным образом и с другими продуктами.

https://habr.com/ru/articles/788812/
👍2🔥2
Туториал по нотификациям через RSocket: от концепции до запуска в продакшн

Статья про разработку системы нотификаций для Альфа-Онлайн — мобильного банка в вебе. В решении использовались WebSocket в связке с RSocket.

https://habr.com/ru/companies/alfa/articles/788398/
🔥2