Java guru
5.19K subscribers
1 photo
1 video
1 file
261 links
Новости из мира Java, обзоры интересных библиотек и фреймворков, обучающие статьи. Онлайн обсуждения актуальных тем и обмен опытом. Для связи @RodmanDV
Download Telegram
Генерация контрактов OpenApi или прикладной API first: гайд по генерации в Spring Boot приложении

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

https://habr.com/ru/articles/770528/
👍2
Польза создания однородных задач для параллельного вычисления

Очень важная мысль из книги "Java concurrency in action"! "Реальная отдача от разделения рабочей нагрузки программы на задачи достигается при наличии большого числа независимых, однородных задач, которые могут обрабатываться конкурентно."

https://habr.com/ru/articles/779188/
🔥2
Микросервисы на основе событий с Kafka Streams и Spring Boot

Статья основана на публикациях Confluent о том, как можно реализовать микросервисную архитектуру на основе событий с помощью Kafka Streams и KSQL.

https://habr.com/ru/articles/775900/
👍1🔥1👏1
В 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