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

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

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

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

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

Другие каналы: @tproger_channels
Подписчики
Всего
8 354
Сегодня
+1
Просмотров на пост
Всего
584
ER
Общий
6.99%
Суточный
5.83%
Динамика публикаций
Telemetr - сервис глубокой аналитики
телеграм-каналов
Получите подробную информацию о каждом канале
Отберите самые эффективные каналы для
рекламных размещений, по приросту подписчиков,
ER, количеству просмотров на пост и другим метрикам
Анализируйте рекламные посты
и креативы
Узнайте какие посты лучше сработали,
а какие хуже, даже если их давно удалили
Оценивайте эффективность тематики и контента
Узнайте, какую тематику лучше не рекламировать
на канале, а какая зайдет на ура
Попробовать бесплатно
Показано 7 из 7 542 постов
Смотреть все посты
Пост от 14.10.2026 13:10
328
0
2
Spring Boot и PostgreSQL: дедлок может быть в транзакциях

Приложение получило ошибку 40P01? Это PostgreSQL обнаружил цикл ожидания блокировок, а не доказательство взаимной блокировки Java-потоков.

Достаточно двух строк: транзакция A обновила первую и ждёт вторую, B — наоборот. Такие дедлоки возможны даже без явного LOCK TABLE, потому что обновление строки тоже берёт блокировку.

PostgreSQL прервёт одну транзакцию, чтобы остальные продолжили работу. Какая станет жертвой, заранее полагаться нельзя. В локальной проверке двух сессий получен именно deadlock detected с SQLSTATE 40P01.

Базовый способ избежать цикла — брать блокировки в согласованном порядке во всех путях приложения. Если всё же повторяете запрос после дедлока, повторять нужно транзакцию целиком, а не только последнюю упавшую команду.

Дедлоки и порядок блокировок

#spring #java
Пост от 14.10.2026 09:01
87
0
0
Развёрнутое пояснение:

1. Создаётся session, реализующий AutoCloseable: при закрытии он выбрасывает исключение с сообщением close.

2. Внутри блока try возникает исключение с сообщением send, поэтому выполнение блока прерывается.

3. Перед переходом к catch конструкция try с ресурсами автоматически закрывает session; закрытие тоже завершается исключением.

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

5. Обработчик catch получает основное исключение: первая строка вывода — send, вторая — 1, поскольку список подавленных исключений содержит один элемент.

Почему это важно

Задача проверяет обработку исключений и управление ресурсами в Java SE. При работе с соединениями и потоками данных ошибка закрытия может сопровождать исходный сбой. Если журналировать только сообщение основного исключения, дополнительная причина останется незаметной; для диагностики нужно учитывать и подавленные исключения.
Пост от 14.10.2026 08:00
242
0
0
Пост от 13.10.2026 19:50
84
0
0
Пост от 13.10.2026 19:50
82
0
0
Showboat и Rodney помогают показать работу ИИ-агента

Саймон Уиллисон собирает демонстрации кода с помощью двух своих инструментов. Showboat выполняет команды и записывает их вывод в документ. Rodney управляет Chrome из командной строки и делает скриншоты интерфейса.

uvx showboat --help

Эту команду автор предлагает дать агенту: в справке есть всё необходимое, чтобы тот создал документ с демонстрацией новой функции.

Уиллисон замечал и обход механизма: агент напрямую правит текст отчёта. Тогда записанный вывод может расходиться с реальным запуском. Содержимое демонстрации тоже требует проверки.

#ии #инструменты
Пост от 13.10.2026 18:20
127
0
3
Spring Boot Actuator: свои проверки здоровья и доступ к диагностике

В Spring Boot 4 проверки liveness и readiness включены по умолчанию. Первая показывает, нужен ли приложению перезапуск; вторая определяет, готово ли оно принимать трафик. По умолчанию они учитывают состояние запуска и остановки приложения, а дополнительные проверки можно включить в их группы.

В руководстве по настройке Actuator показано, как создать свой HealthIndicator, объединить проверки в группу и разрешить просмотр деталей только пользователям с ролью admin. Случайный статус в примере служит учебной демонстрацией, а не проверкой для рабочего сервиса.

Детали проверок могут раскрывать чувствительные сведения, например название используемой СУБД. Автор показывает, как скрыть их или ограничить доступ авторизованными пользователями.

#spring #java
❤ 1
Пост от 13.10.2026 13:10
267
0
1
Хаотичный планировщик помог найти ошибку в тесте JFR

В январском разборе Йоханнес Бехбергер исследовал JDK-8366486: тест CPU-time sampling обычно проходил, хотя после первой записи останавливал поток, создававший нагрузку.

Вторая запись могла получить событие от внутреннего потока JFR Periodic Tasks. Это маскировало ошибку самого теста. Успешный прогон ещё не означал, что проверяется нужный сценарий.

Автор использовал concurrency-fuzz-scheduler: написанный на Java прототип планировщика Linux меняет расписание потоков случайными паузами. С ним ошибочную ветку удалось воспроизвести быстрее, а исправленную — отдельно проверить повторными запусками.

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

Разбор Бехбергера и устройство теста

#java #jvm
Смотреть все посты