Java guru
933 subscribers
1 photo
1 video
234 links
Новости из мира Java, обзоры интересных библиотек и фреймворков, обучающие статьи. Онлайн обсуждения актуальных тем и обмен опытом. Для связи @RodmanDV
Download Telegram
Перестаём бояться генерировать байт-код

Многие, возможно, думают, что работа с байт-кодом Java — это какая-то особенная магия. Разобраться в этом полезно для лучшего понимания как все работает изнутри.

https://habr.com/ru/articles/759990/
Использование оконных функций с Hibernate 5 и 6

Начиная с версии 6, вы можете использовать оконные функции в запросах JPQL (Java Persistence Query Language — платформенно-независимый объектно-ориентированный язык запросов). Более старые версии Hibernate поддерживают их только в нативных запросах.

https://habr.com/ru/companies/otus/articles/743910/
Прожарка java.lang.String

Иногда комментарии к статье оказываются интереснее статьи )) вот пример. Хотя подача материала интересная и провокационная: как сломать строки в Java.

https://habr.com/ru/companies/bar/articles/747528/
Выступление на Joker 2023: Польза и вред Java-сообществ для инженеров

Эксперты из разных сфер поделятся опытом. Поговорим о том, как возникают сообщества, какие есть риски и чем сообщества полезны инженерам и компании. Обсудим роли и как начать проявляться.

https://jokerconf.com/talks/8136e7bf53844a45b3a3bde40cfd05bc/?referer=/persons/ee4fea77ee85444cba7f1f866c8b862b/
Потоковая обработка данных с помощью Kafka Streams: архитектура и ключевые концепции

При реализации потоковой обработки и анализа данных может возникнуть необходимость агрегирования записей для объединения нескольких независимых поток данных или обогащения какой-либо модели данных. Для этой цели может использоваться Kafka Streams, которая позволяет выполнять обработку данных в режиме реального времени. 

https://habr.com/ru/articles/747658/
Spring Data JPA: разница между методами findById, getOne, getById и findOne

Когда ваш репозиторий наследуется от JpaRepository из Spring Data JPA, он получает методы findById, getOne, getById, и findOne. Исходя из их имен, вы можете подумать, что они делают одно и то же.
Но Spring Data явно не стала бы давать нам 4 совершенно одинаковых метода под разными именами. Итак, давайте подробнее рассмотрим эти методы и найдем их отличия.

https://thorben-janssen.com/spring-data-findbyid-getone-getbyid-and-findone/
Java 21: новый подход к созданию строк

Java 21 предлагает много классных функциональностей, и одна из них  —  шаблоны строк (англ. String Templates). При том, что их целевое назначение не ограничивается только строковой интерполяцией, для Java-разработчиков они служат еще одним “правильным” способом конкатенации строк. 

https://nuancesprog.ru/p/18883/
Магия Spring Framework своими руками

Прокси объекты являются основой "магии" Spring Framework. В качестве демонстрации реализована @JmxExporter аннотация, которая позволяет превратить любой Spring Bean в JMX MBean.

https://habr.com/ru/articles/750894/
Ивентная модель данных с использованием Kafka и Kafka Connect: Построение гибкой и распределенной архитектуры

В этой статье мы рассмотрим, как Kafka Connect – мощный инструмент из экосистемы Apache Kafka – приходит на помощь при решении сложной задачи синхронизации данных между базами данных. Мы рассмотрим, как используя Kafka Connect, мы можем эффективно следить за изменениями в одной базе данных, обрабатывать их в нашем Java приложении и мгновенно записывать их в другую базу данных, обеспечивая надежность и безопасность данных.

https://habr.com/ru/articles/751256/
Разница между загрузкой и инициализацией классов в Java на любопытном примере

Очень интересная статья о тонкостях загрузки и инициализации классов. Получил большое удовольствие от прочтения. Поводом для написания статьи стал вопрос на StackOverflow.

https://habr.com/ru/articles/740156/
Новый взгляд на Maven-plugin для IDEA — GMaven

Многие из нас часто работают с maven проектами, но как среда разработки изнутри работает с maven? В статье один из разработчиков JetBrains из команды build tools делится тем как устроена работа Maven-plugin.

https://habr.com/ru/articles/753828/
Исчерпывающее руководство по одномерным массивам в Java

Довольно подробное описание массивов в Java. Обратите особое внимание на «3. Тип данных массива» и «4. Длина массива». Там для исследования использует jol и рассказывает о структуре class файла.

https://habr.com/ru/articles/753638
Предложена опережающая (Ahead of time) компиляция для JVM

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

https://www.infoworld.com/article/3704490/ahead-of-time-compilation-proposed-for-the-jvm.html#tk.rss_java
Объектно-ориентированный подход к созданию REST-клиентов, или возможна ли жизнь без Open API

Довольно радикальный взгляд на возможность отказа от Open API в REST сервисах. Open API стал негласным стандартом при разработке REST сервисов. Возможно в локальных проектах где есть гарантия того , что будет использоваться исключительно экосистема JVM языков это решение окажется лучше. Сама идея мне лично понравилась.

https://habr.com/ru/companies/magnit/articles/763952/
Как скомпилировать Spring Boot приложение в native image с помощью GraalVm и развернуть его с помощью Docker

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

https://habr.com/ru/articles/755550/
«Фундаментальное»руководство по пакетам в Java

Джунам прочитать будет полезно. Пакеты в Java появились с самого начала, во времена, когда язык еще назывался Oak. Java-пакеты реализуют так называемое пространство имен (namespace), позволяющее использовать в проекте файлы с одинаковыми именами. Такой подход существует с давних времен во многих языках.

https://habr.com/ru/articles/755654/