Java guru
Відкрити в Telegram
Новости из мира Java, обзоры интересных библиотек и фреймворков, обучающие статьи. Онлайн обсуждения актуальных тем и обмен опытом. Для связи @RodmanDV
Показати більше941
Підписники
Немає даних24 години
+37 днів
+530 день
Архів дописів
941
Spring prototype при помощи Lookup
В статье разбирается пример работы с бином со скоупом prototype при помощи аннотации @Lookup.
На мой вкус пример выбран не очень удачно, но суть работы аннотации показана.
https://habr.com/ru/articles/782656/
941
Быстрый старт. SpringBoot + RabbitMQ
Довольно простой и понятный пример работы с RabbitMQ. Для демонстрации сделано одно приложение для отправки сообщений и два на чтение.
https://habr.com/ru/articles/782234/
941
Идемпотентность: больше, чем кажется
Идемпотентность запроса — это обеспечение возможности многократного вызова запроса с гарантией того, что состояние системы изменится только один раз.
В статье приведен пример реализации на Spring.
https://habr.com/ru/companies/domclick/articles/779872/
941
Интеграция Keycloak в приложение Spring Boot 3 с использованием протокола OAuth2.0
В данной статье представлен процесс интеграции Keycloak в приложение Spring Boot 3 в качестве сервера авторизации с использованием протокола OAuth2.
Keycloak - это средство с открытым исходным кодом, предоставляющее полнофункциональную платформу для управления идентичностью и доступом.
https://habr.com/ru/companies/axenix/articles/780422/
941
В 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/941
Операция «K». Ищем баги в коде IntelliJ IDEA
Интересно учиться на чужих ошибках. Давайте посмотрим какие ошибки были выявлены в IntelliJ IDEA.
https://habr.com/ru/companies/pvs-studio/articles/780560/
941
Микросервисы на основе событий с Kafka Streams и Spring Boot
Статья основана на публикациях Confluent о том, как можно реализовать микросервисную архитектуру на основе событий с помощью Kafka Streams и KSQL.
https://habr.com/ru/articles/775900/
941
Польза создания однородных задач для параллельного вычисления
Очень важная мысль из книги "Java concurrency in action"!
"Реальная отдача от разделения рабочей нагрузки программы на задачи достигается при наличии большого числа независимых, однородных задач, которые могут обрабатываться конкурентно."
https://habr.com/ru/articles/779188/
941
Генерация контрактов OpenApi или прикладной API first: гайд по генерации в Spring Boot приложении
В этой статье будет описана только техника хранения спецификаций и конкретные шаги по их подключению в приложении. Для упрощения здесь не будут описаны некоторые принципы важные для использования в production коммерческих проектов.
https://habr.com/ru/articles/770528/
941
Java 20: огромные разреженные сегменты памяти
Знаете ли вы, что можно выделять сегменты памяти, которые больше, чем физический размер оперативной памяти вашего компьютера, и даже больше, чем размер всей вашей файловой системы?
Новая функция Foreign Function and Memory, которая во второй раз появляется в Java 20, позволяет сопоставлять большие сегменты памяти с файлом.
https://habr.com/ru/articles/710664/
941
Garbage Collection и JVM
JVM работает как хорошо отлаженный механизм, автоматически распределяя и освобождая память. Это и есть суть Garbage Collection. Это процесс, который автоматически находит и удаляет объекты, которые больше не используются вашим приложением. Благодаря этому, разработчики могут сосредоточиться на логике приложения, не беспокоясь о ручном управлении памятью.
Знание того, как работает GC и JVM, необходимо каждому Java-разработчику. Правильное управление ресурсами напрямую влияет на производительность и стабильность приложений.
https://habr.com/ru/companies/otus/articles/776342/
941
Разработка высоконагруженного игрового WebSocket сервера на Java, Netty с поддержкой BattleRoyale/Matchmaking
Я люблю Netty. В статье неплохо описан процесс разработки бекенда для игрового сервера. Версия Java правда выбрана странная.
https://habr.com/ru/articles/774322/
941
Helidon 4 вышел, а никто и не заметил
Про Helidon 4 уже была ссылка на канале. Хочу с вами поделиться еще одной. Статья примечательна в том числе сравнением Helidon 4 и Spring. Можно сказать, что виртуальные потоки просто «творят чудеса».
https://habr.com/ru/companies/bar/articles/772726/
941
AI добрался и до JVM
Разработанная командой JVM в компании Oracle, Oracle Java Management Cloud Service представила искусственный интеллект для анализа и генерации рекомендаций по настройке, чтобы улучшить производительность java-приложений. В ролике показано, как он работает и как им пользоваться.
https://youtu.be/HwCW1RjQfd4
941
Ускоряем запуск Spring Boot-приложений в контейнере
Знаете ли вы, что Spring Boot-приложение в контейнере может запускаться за миллисекунды? При этом без ущерба для производительности, памяти, паритета окружений разработки-продакшена, без ограничений возможностей языка Java, и почти без изменения кода приложения. Но как? С помощью Liberty 23.0.0.10-beta…
https://habr.com/ru/companies/otus/articles/771738/
941
Новый фреймворк для микросервисов Helidon 4 от Oracle делает ставку на виртуальные потоки из Java 21
На рынке фреймворков для микросервисов появился довольно интересный конкурент от Oracle. Для достижения высокой производительности там делается ставка на виртуальные потоки, которые появились в Java 21. Произошел по факту переход от парадигмы управления потоками как «ограниченного ресурса» к парадигме «ресурса практически неограниченного и доступного по требованию». До Helidon 4 «под капотом» использовался всеми любимый Netty, а начиная с 4 версии Helidon перешел на новый сервер Nima, который также делает ставку на виртуальные потоки.
Я думаю что в какой-то момент остальные фреймворки также «подтянутся», но уже сейчас стоит попробовать новые очень вкусные механики.
https://www.infoworld.com/article/3709929/oracle-helidon-4-java-microservices-framework-stresses-virtual-threads.html#tk.rss_java
941
Трейсы в Spring Boot 3 с использованием Zipkin и Kafka в качестве транспорта
Для трассировки приложений используется Zipkin. Транспортом является Kafka. В статье не решен вопрос со сквозным traceId, но ход мыслей конечно интересный )) вообще конечно решение на jaeger/opentelemetry было бы поинтереснее.
https://habr.com/ru/companies/alfastrah/articles/770566/
941
Жук, нумерология, хеш или ничо? Оптимизация работы с путями
Классическая задача программирования на практике логистики. Думаю, все согласятся, что не рационально гнать отдельную фуру с одной коробочкой для каждого заказа. Наша задача выстроить логистику таким образом, чтобы по пути загрузить и выгрузить как можно больше посылок и поехать дальше.
https://habr.com/ru/companies/cdek_blog/articles/771372/
941
@Scheduled + @Async (в Spring Boot)
Допустим вам необходимо выполнять какое-то действие раз в минуту, например ходить в базу и смотреть есть ли там записи по которым не выполнилась отправка во внешнюю систему и если такие есть то выполнить отправку повторно (доотправка).
И еще одно действие, которое надо выполнять раз в день, например сформировать аналитический отчет, и формироваться он будет очень долго, целых 5 минут.
И мы начали замечать, что во время формирования отчета (а мы помним что это длится 5 минут), первый джоб доотправки не выполняется, почему так присходит?
https://habr.com/ru/articles/771112/941
Java Unsafe API для низкоуровневого манипулирования памятью
В Java на самом деле есть возможность манипулирования памятью, но лучше не пользоваться механизмом Unsafe. Лучшая альтернатива для него Foreign Function & Memory API.
https://habr.com/ru/companies/otus/articles/770878/
