Библиотека джависта | Java, Spring, Maven, Hibernate
24.1K subscribers
2K photos
38 videos
42 files
2.82K links
Все самое полезное для Java-разработчика в одном канале.

Список наших каналов: https://t.iss.one/proglibrary/9197

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

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

РКН: https://gosuslugi.ru/snet/67a5bbda1b17b35b6c1a55c4
Download Telegram
🔥 Java 24 что нового?

18 марта Oracle официально выпустила Java 24 — не-LTS релиз, но с весьма занятными новшествами. Среди 24 JEPов есть парочка, ради которых можно обновиться:

🔹JEP 484 – Class-File API
Вводит стандартный API для парсинга, генерации и трансформации Java class-файлов.

🔹 JEP 485 – Stream Gatherers
Новый API для кастомных промежуточных операций в стримах.

🔹 JEP 489 – Vector API (9-я инкубация)
Продолжает развитие векторного API, предоставляя более эффективные вычисления с использованием векторных инструкций процессора

🔹 JEP 491 – Synchronize Virtual Threads without Pinning
Улучшает работу виртуальных потоков, позволяя синхронизировать их без привязки к конкретным потокам-носителям.

🔗 Полный список фич

🐸 Библиотека джависта #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥5🎉3
Forwarded from Библиотека программиста | программирование, кодинг, разработка
👨🏻‍💻 Исследование IT-аудитории Proglib 2025: зарплаты, технологии, профессии

Кто такой современный разработчик в 2025 году? Актуальное исследование портрета IT-специалистов: зарплаты, технологии, специализации и демография разработчиков.

➡️ Вся статистика и детали — здесь

Библиотека программиста #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
😁7👍2🔥1
🔖 IT-календарь: предстоящие конференции

🔹 JPoint 2025
📅 Даты: 3–4 апреля 2025 года
📍 Место проведения: Москва, Россия

JPoint — крупнейшая Java-конференция в России, собирающая опытных разработчиков для обсуждения современных практик Java-разработки, новых функций языка, нюансов работы с Spring, а также тем, связанных с JVM, Kotlin и Scala. ​

🔹 JavaLand 2025
📅 Даты: 1–3 апреля 2025 года
📍 Место проведения: Нюрбург, Германия

JavaLand — ежегодная конференция для Java-разработчиков, проходящая в уникальной обстановке парка развлечений. Мероприятие предлагает множество докладов, воркшопов и возможностей для нетворкинга с международным сообществом.​

🔹 GeeCON 2025
📅 Даты: 14–16 мая 2025 года
📍 Место проведения: Краков, Польша

GeeCON — одна из крупнейших европейских конференций, посвященных Java и JVM-технологиям. В программе — выступления ведущих экспертов, обсуждение современных трендов и практик разработки.​

💬 Собираетесь на какое-либо мероприятие?

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

🔹 JavaOne 2025
С 18 по 20 марта в Redwood Shores, Калифорния, прошла конференция JavaOne. Среди ключевых тем — релиз Java 24, упрощение синтаксиса и минимизация шаблонного кода. Mala Gupta, Java Champion и представитель JetBrains, поделилась своими впечатлениями и подчеркнула важность сертификации для карьерного роста. ​

🔹 JPoint 2025
3–4 апреля в Москве состоялась конференция JPoint 2025. Среди докладов: оптимизация компилятора javac, микробенчмарки с JMH, расширения Quarkus и CQRS, многопоточная вставка данных в БД с использованием Spring и PostgreSQL. Конференция собрала более 1200 участников и стала площадкой для обсуждения актуальных трендов в Java-разработке. ​

🔹 Рейтинг языков программирования
По данным TIOBE за апрель 2025 года, Java занимает 4-е место в рейтинге языков программирования. Несмотря на конкуренцию со стороны Python, C++ и C, Java сохраняет свою популярность благодаря стабильности и широкому применению в корпоративной разработке.

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

🔹 10 Java-инструментов, которые стоит освоить в 2025 году

Отличная подборка свежих тулов от команды JavaRevisited. Автор рассказывает, почему IntelliJ IDEA по-прежнему топ, как Maven и Gradle делят рынок сборщиков, зачем подключать SonarQube к CI/CD, и как JaCoCo помогает не пускать баги в прод.

🔹 16 лучших инструментов для анализа покрытия кода в Java

LambdaTest собрали отличную коллекцию тулов для code coverage. JaCoCo, Cobertura, Emma и другие инструменты с реальными примерами, плюс — рекомендации, как интерпретировать отчёты и не уплыть в графиках.

🔹 Spring Tools 4.29.0: новые возможности

В марте вышел свежий релиз Spring Tools с обновлённой поддержкой Spring Boot 3.x, быстрой навигацией и улучшенной автоподстановкой. Плюс, разработчики поработали над интеграцией с IDE (включая Eclipse и VS Code).

🐸 Библиотека джависта #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥3👏21
🆕 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
👍6🔥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