Не попадитесь на накрученные каналы! Узнайте, не накручивает ли канал просмотры или подписчиков Проверить канал на накрутку
Прикрепить Телеграм-аккаунт Прикрепить Телеграм-аккаунт

Телеграм канал «Чашечка Java»

Чашечка Java
7.5K
862
704
6
9.3K
Лучшие материалы по Java на русском и английском

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels
Подписчики
Всего
8 381
Сегодня
+2
Просмотров на пост
Всего
669
ER
Общий
7.99%
Суточный
6.42%
Динамика публикаций
Telemetr - сервис глубокой аналитики
телеграм-каналов
Получите подробную информацию о каждом канале
Отберите самые эффективные каналы для
рекламных размещений, по приросту подписчиков,
ER, количеству просмотров на пост и другим метрикам
Анализируйте рекламные посты
и креативы
Узнайте какие посты лучше сработали,
а какие хуже, даже если их давно удалили
Оценивайте эффективность тематики и контента
Узнайте, какую тематику лучше не рекламировать
на канале, а какая зайдет на ура
Попробовать бесплатно
Показано 7 из 7 492 постов
Смотреть все посты
Пост от 25.09.2026 13:08
1
0
0
Как ускорить агрегацию в Spring Batch с помощью DuckDB

В Spring Batch агрегацию миллионов строк можно вынести из Java-цикла с HashMap в SQL-запрос DuckDB внутри Tasklet.

В тесте на Java 21 и DuckDB 1.5.5: 10 млн строк обработались за 0,17 секунды вместо 1, 50 млн — за 0,61 вместо 4,83. На свежем запуске JVM влияет прогрев JIT, поэтому результаты лучше перепроверить на своих данных.

Схема интеграции и исходный код пригодятся для агрегаций и соединений. Классическую обработку оставьте для внешних вызовов и обогащения каждой строки.
Пост от 25.09.2026 08:01
64
0
2
Как перевести сборку Gradle на Isolated Projects

Isolated Projects параллельно конфигурирует проекты, ускоряя локальные сборки и синхронизацию IntelliJ IDEA. Функция экспериментальная и требует совместимости с Configuration Cache.

Команда Gradle начала с help, собрала нарушения в диагностическом отчёте и затем проверила IDE и CI. Плагины соглашений изолировали логику проектов, а обмен артефактами шёл через зависимости.

Опыт внедрения команды Gradle показывает порядок миграции: сначала локальные сборки, затем CI. Продакшен-артефакты пока собирают без этой функции, пока не подтверждена корректность результатов.
Пост от 24.09.2026 18:16
221
0
8
Как перенести Spring Boot 3.5 на 4.1 и не пропустить тихие поломки

Поддержка Spring Boot 3.5 закончилась 30 июня 2026 года на версии 3.5.16. При этом проект может собраться и запуститься с устаревшими стартерами: зелёной сборки для миграции недостаточно.

До перехода включите предупреждения об устаревших API и прогоните тесты. Затем проверьте зависимости: spring-boot-starter-web стал spring-boot-starter-webmvc, а Flyway получил отдельный стартер.

Пошаговая миграция проекта разбирает Jackson 3, переход от MultiValueMap к HttpHeaders и тесты: @MockBean заменён на @MockitoBean, а @SpringBootTest больше не настраивает MockMvc, WebClient и TestRestTemplate. Это чек-лист мест, которые надо проверить после компиляции.
❤ 1
Пост от 24.09.2026 13:09
259
0
5
Почему ref = null обычно не помогает сборщику мусора JVM

Локальная ссылка в стеке потока остаётся корнем GC, пока её фрейм активен. После выхода из метода сборщик её не обходит, поэтому ref = null перед возвратом обычно ничего не меняет.

Сборщик копирует достижимые объекты в другой пул, а прежний затем использует заново. Он сохраняет всё, до чего может добраться от корней, а не удаляет мусор по одному объекту.

Редкое исключение возникает, когда узлы LinkedList лежат в разных поколениях памяти: разрыв связи с обработанной частью иногда сокращает удержание. Но рост памяти требует искать ошибку жизненного цикла: растущую статическую коллекцию, кеш без вытеснения или слушатель без отписки. Разбор стека и достижимости помогает отличить утечку от лишнего присваивания.
Пост от 24.09.2026 08:02
420
0
3
Value-классы в JDK 28: где JVM убирает аллокации, а где возвращает их

JEP 401 вошёл в JDK 28 как предварительная возможность. Отказ от идентичности позволяет JVM хранить поля без ссылок и раскладывать компоненты по регистрам или стеку, но ускорение не гарантировано.

Неизменяемые поля JVM может хранить плоско, а для изменяемых выбирает ссылку, чтобы потоки не увидели значение из частей разных записей. JIT-компилятор C2 способен убрать создание value record в цикле, но стирание типов и виртуальный вызов могут вернуть объект и аллокацию.

Перед миграцией проверьте горячие участки и переходы между представлениями: три таких случая разобраны в статье Value Classes Still Need Compiler Sympathy.
Пост от 23.09.2026 18:21
501
0
5
Как показать вызовы инструментов в интерфейсе на Spring AI 2.0

Spring AI 2.0 вынес цикл вызова инструментов из реализаций отдельных моделей в цепочку советников ChatClient. Теперь его можно обернуть собственным советником, увидеть промежуточные события и показать пользователю, какой метод выполняется до появления ответа модели.

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

В разборе есть рабочий проект на Spring Boot 4.1: инструменты с @Tool, потоковый контроллер и советник для отслеживания вызовов. Подход пригодится, если интерфейсу корпоративного ИИ-сервиса нужна наблюдаемость без изменений внутри модели.
Пост от 23.09.2026 13:14
526
0
1
Quarkus 3.29: что изменилось в тестах CDI-компонентов

QuarkusComponentTest запускает не всё приложение, а только CDI-контейнер и сервис конфигурации. Тестируемый бин остаётся реальным, а отсутствующие зависимости автоматически заменяются моками Mockito. Их можно внедрить через @InjectMock и настроить в тестовом методе.

В Quarkus 3.29 переработали загрузку классов. Расширение теперь поддерживает преобразование байткода, упрощённую инъекцию через конструктор, final-классы и методы. Новый SPI позволяет подключать логику до сборки и после запуска контейнера. Интеграция с quarkus-panache-mock добавила компонентные тесты для Panache-сущностей.

В обзоре Quarkus также разобраны жизненный цикл контейнера, автоматический выбор тестируемых компонентов и изменения версий 3.13 и 3.21.
🤔 1
Смотреть все посты