Как снизить хвостовые задержки в Java с помощью ZGC
Хвостовые задержки в Java часто упираются не в «среднее время ответа», а в редкие, но болезненные выбросы на p999. В статье сравним G1 и ZGC на прикладном бенчмарке микросервиса (Quarkus + Postgres) и на синтетической нагрузке с высокой скоростью аллокаций: где ZGC действительно срезает хвосты почти без пауз — и в каких условиях, упираясь в CPU, он начинает «тормозить» через приостановки аллокаций.
Читать разбор
Читать: https://habr.com/ru/companies/otus/articles/986604/?utm_campaign=986604
@a_cup_of_java | Другие наши каналы
Хвостовые задержки в Java часто упираются не в «среднее время ответа», а в редкие, но болезненные выбросы на p999. В статье сравним G1 и ZGC на прикладном бенчмарке микросервиса (Quarkus + Postgres) и на синтетической нагрузке с высокой скоростью аллокаций: где ZGC действительно срезает хвосты почти без пауз — и в каких условиях, упираясь в CPU, он начинает «тормозить» через приостановки аллокаций.
Читать разбор
Читать: https://habr.com/ru/companies/otus/articles/986604/?utm_campaign=986604
@a_cup_of_java | Другие наши каналы
🔥1🙏1
Внедряем Testcontainers за два дня или как перестать бояться рефакторинга и начать доверять своим тестам
Надоело, когда после сотни зеленых unit-тестов приложение падает на тестовом стенде? Когда рефакторинг превращается в кошмар из-за необходимости переписывать полсотни тестовых классов? Мне тоже надоело и я нашел решение. В статье покажу, как за два-три рабочих дня внедрить Testcontainers и начать писать тесты, которые действительно работают. В докладе вы найдете production-ready решение с PostgreSQL, Kafka и WireMock, которое выявит реальные проблемы еще до деплоя, честное тестирование реального поведения приложения.
Читать: https://habr.com/ru/articles/986870/?utm_campaign=986870
@a_cup_of_java | Другие наши каналы
Надоело, когда после сотни зеленых unit-тестов приложение падает на тестовом стенде? Когда рефакторинг превращается в кошмар из-за необходимости переписывать полсотни тестовых классов? Мне тоже надоело и я нашел решение. В статье покажу, как за два-три рабочих дня внедрить Testcontainers и начать писать тесты, которые действительно работают. В докладе вы найдете production-ready решение с PostgreSQL, Kafka и WireMock, которое выявит реальные проблемы еще до деплоя, честное тестирование реального поведения приложения.
Читать: https://habr.com/ru/articles/986870/?utm_campaign=986870
@a_cup_of_java | Другие наши каналы
❤2🔥1🤔1
JVM ещё жива, но уже бесполезна: как Netflix научился убивать её по GC
Вместо того чтобы ждать, пока Java-приложение окончательно "зависнет" из-за GC, инженеры Netflix сделали jvmquake — инструмент, который сам определяет, что JVM уже не спасти, вызывает дамп памяти и аккуратно завершает процесс. Меньше тревог, больше аптайма.
Подробности - в новом переводе от команды Spring АйО.
Читать: https://habr.com/ru/companies/spring_aio/articles/987116/?utm_campaign=987116
@a_cup_of_java | Другие наши каналы
Вместо того чтобы ждать, пока Java-приложение окончательно "зависнет" из-за GC, инженеры Netflix сделали jvmquake — инструмент, который сам определяет, что JVM уже не спасти, вызывает дамп памяти и аккуратно завершает процесс. Меньше тревог, больше аптайма.
Подробности - в новом переводе от команды Spring АйО.
Читать: https://habr.com/ru/companies/spring_aio/articles/987116/?utm_campaign=987116
@a_cup_of_java | Другие наши каналы
🔥1
Soft-, Weak-, Final- и PhantomReference в Java
В статье представлены сведения о классах пакета java.lang.ref - SoftReference, WeakReference, PhantomReference и др. Описываются приёмы их применения.
Читать: https://habr.com/ru/articles/987362/?utm_campaign=987362
@a_cup_of_java | Другие наши каналы
В статье представлены сведения о классах пакета java.lang.ref - SoftReference, WeakReference, PhantomReference и др. Описываются приёмы их применения.
Читать: https://habr.com/ru/articles/987362/?utm_campaign=987362
@a_cup_of_java | Другие наши каналы
🔥1🙏1
Observability-as-Code в Spring Boot: Контракты и тесты для метрик, логов и трейсов
Observability-as-Code - это подход, при котором базовые элементы наблюдаемости (метрики, логи, трассировки) описываются и проверяются так же строго, как и код самого приложения. Эта информация хранится в VCS и к ней выдвигаются такие же требования, как “остальному коду”. Инженеры явно описывают "контракт" наблюдаемости (какие метрики и логи должна выдавать система, с какими свойствами), снабжают этот контракт автоматическими тестами и включают проверки в процесс CI/CD.
В данной публикации мы подробно разберем, почему такой подход эффективен, и как его реализовать в Spring Boot с использованием Micrometer, OpenTelemetry и инструментов вроде ArchUnit.
Читать: https://habr.com/ru/companies/spring_aio/articles/987358/?utm_campaign=987358
@a_cup_of_java | Другие наши каналы
Observability-as-Code - это подход, при котором базовые элементы наблюдаемости (метрики, логи, трассировки) описываются и проверяются так же строго, как и код самого приложения. Эта информация хранится в VCS и к ней выдвигаются такие же требования, как “остальному коду”. Инженеры явно описывают "контракт" наблюдаемости (какие метрики и логи должна выдавать система, с какими свойствами), снабжают этот контракт автоматическими тестами и включают проверки в процесс CI/CD.
В данной публикации мы подробно разберем, почему такой подход эффективен, и как его реализовать в Spring Boot с использованием Micrometer, OpenTelemetry и инструментов вроде ArchUnit.
Читать: https://habr.com/ru/companies/spring_aio/articles/987358/?utm_campaign=987358
@a_cup_of_java | Другие наши каналы
❤1👍1
Почему Kotlin ломает JPA
Используешь Kotlin с Jakarta Persistence и думаешь, что всё работает? Возможно, до первой неожиданной ошибки. data class, val, final-классы и даже значения по умолчанию — всё это может тайно мешать корректной работе JPA. Вместе с Торбеном Янссеном в новом переводе от команды Spring АйО разберем скрытые ловушки и показывают, как настроить проект правильно, чтобы не наступить на мину.
Читать: https://habr.com/ru/companies/spring_aio/articles/987890/?utm_campaign=987890
@a_cup_of_java | Другие наши каналы
Используешь Kotlin с Jakarta Persistence и думаешь, что всё работает? Возможно, до первой неожиданной ошибки. data class, val, final-классы и даже значения по умолчанию — всё это может тайно мешать корректной работе JPA. Вместе с Торбеном Янссеном в новом переводе от команды Spring АйО разберем скрытые ловушки и показывают, как настроить проект правильно, чтобы не наступить на мину.
Читать: https://habr.com/ru/companies/spring_aio/articles/987890/?utm_campaign=987890
@a_cup_of_java | Другие наши каналы
👏1
Как мы перевели сервисы Java с виртуальных машин в Kubernetes
Статья: «Как мы перевели сервисы Java с виртуальных машин в Kubernetes»
В этой статье я разберу наш путь от VM к Kubernetes: какие задачи решали, как настраивали пайплайны, с какими сложностями столкнулись и какие плюсы в итоге получили.
Читать: https://habr.com/ru/companies/alfastrah/articles/988306/?utm_campaign=988306
@a_cup_of_java | Другие наши каналы
Статья: «Как мы перевели сервисы Java с виртуальных машин в Kubernetes»
В этой статье я разберу наш путь от VM к Kubernetes: какие задачи решали, как настраивали пайплайны, с какими сложностями столкнулись и какие плюсы в итоге получили.
Читать: https://habr.com/ru/companies/alfastrah/articles/988306/?utm_campaign=988306
@a_cup_of_java | Другие наши каналы
11 топовых библиотек и фреймворков для Java в 2025 году
Топ библиотек и фреймворков Java 2025: Spring Boot, Hibernate, JUnit, Micronaut, Quarkus. Практические советы от Senior и Lead разработчиков.
Читать: «11 топовых библиотек и фреймворков для Java в 2025 году»
@a_cup_of_java | Другие наши каналы
Топ библиотек и фреймворков Java 2025: Spring Boot, Hibernate, JUnit, Micronaut, Quarkus. Практические советы от Senior и Lead разработчиков.
Читать: «11 топовых библиотек и фреймворков для Java в 2025 году»
@a_cup_of_java | Другие наши каналы
🤔1
Как изменить код работающего Java-приложения? Пишем свой HotSwap
Практический разбор создания Java-агента для модификации байт-кода на лету. Как использовать Attach API, Instrumentation и Byte Buddy, чтобы изменить поведение работающего приложения. Подробно о реализации и ошибках.
Читать: «Как изменить код работающего Java-приложения? Пишем свой HotSwap»
@a_cup_of_java | Другие наши каналы
Практический разбор создания Java-агента для модификации байт-кода на лету. Как использовать Attach API, Instrumentation и Byte Buddy, чтобы изменить поведение работающего приложения. Подробно о реализации и ошибках.
Читать: «Как изменить код работающего Java-приложения? Пишем свой HotSwap»
@a_cup_of_java | Другие наши каналы
Apple выпустила Swift SDK для написания Android-приложений — спустя 11 лет после релиза языка
Apple выпустила Swift SDK для Android — теперь на Swift можно писать нативные Android-приложения и переносить код между платформами
Читать: «Apple выпустила Swift SDK для написания Android-приложений — спустя 11 лет после релиза языка»
@a_cup_of_java | Другие наши каналы
Apple выпустила Swift SDK для Android — теперь на Swift можно писать нативные Android-приложения и переносить код между платформами
Читать: «Apple выпустила Swift SDK для написания Android-приложений — спустя 11 лет после релиза языка»
@a_cup_of_java | Другие наши каналы
Инженер реализовал завирусившийся XKCD-комикс про зависимости ПО
Инженер создал Stacktower — интерактивную версию культового XKCD-комикса, показывающую, как одна зависимость может «обрушить» все приложение
Читать: «Инженер реализовал завирусившийся XKCD-комикс про зависимости ПО»
@a_cup_of_java | Другие наши каналы
Инженер создал Stacktower — интерактивную версию культового XKCD-комикса, показывающую, как одна зависимость может «обрушить» все приложение
Читать: «Инженер реализовал завирусившийся XKCD-комикс про зависимости ПО»
@a_cup_of_java | Другие наши каналы
❤3🙏1
Java: 15 самых популярных докладов 2025 года на YouTube
От базовой прокачки производительности до работы с ИИ и данными. Все доклады доступны бесплатно на YouTube
Читать: «Java: 15 самых популярных докладов 2025 года на YouTube»
@a_cup_of_java | Другие наши каналы
От базовой прокачки производительности до работы с ИИ и данными. Все доклады доступны бесплатно на YouTube
Читать: «Java: 15 самых популярных докладов 2025 года на YouTube»
@a_cup_of_java | Другие наши каналы
❤2
Forwarded from Типичный программист
This media is not supported in your browser
VIEW IN TELEGRAM
Ну и еще немного про ИИ! 😁
Одни компании недолюбливают нейросети за риск утечки конфиденциальной информации. Судя по комменту к предыдущему посту вы тоже от него устали🤪 Но каким-то образом у разных компаний получается приручить эту химеру и выуживать из нее пользу.
Как, например, у этих ребят. Команда хотела облегчить работу коллег и создала то, что стало ключом к корпоративному ИИ. Они хотели доступ к мощным нейросетям, но так, чтобы ни байта данных не вышло за порог компании. И чтобы запускал это не только технарь, но и обычный менеджер.
Главный стоппер был предсказуем: как заставить прожорливые модели стабильно работать в облаке под нагрузкой? Решение оказалось элегантным.
Это девятый артефакт — для тех, кто побаивается нейросетей, но явно на них облизывается. Покажите вашему начальнику, скажите, что все не так страшно👻
Одни компании недолюбливают нейросети за риск утечки конфиденциальной информации. Судя по комменту к предыдущему посту вы тоже от него устали
Как, например, у этих ребят. Команда хотела облегчить работу коллег и создала то, что стало ключом к корпоративному ИИ. Они хотели доступ к мощным нейросетям, но так, чтобы ни байта данных не вышло за порог компании. И чтобы запускал это не только технарь, но и обычный менеджер.
Главный стоппер был предсказуем: как заставить прожорливые модели стабильно работать в облаке под нагрузкой? Решение оказалось элегантным.
Это девятый артефакт — для тех, кто побаивается нейросетей, но явно на них облизывается. Покажите вашему начальнику, скажите, что все не так страшно
Please open Telegram to view this post
VIEW IN TELEGRAM
💯1
Forwarded from Типичный программист
Победителями премии Тпрогер 🐀 становятся...
Здесь играет барабанная дробь и интригующая музыка... Вам нужно только выждать драматическую паузу перед объявлением победителей — в каждой номинации он один, и определяется большинством голосов. Готовы?
В номинации «Продукт года» золотая мышь достается компании:
🐀 NetVision за платформу интеллектуального мониторинга СИМ .
В номинации «Облачный продукт года» побеждает компания:
🐀 Гравитон с паком виртуализации «Гелиус»
Звание «IT-ивент года» вручается компании:
🐀 Островок! за О!Хакатон
И в категории «Дизайн года» первое место занимает компания:
🐀 AcademiaDev за интерактивную инсталляцию .
Каждый ваш лайк, голос влияли на исход премии. Давайте поддержим всех — ставьте 🏆участникам, которые хоть и не заняли призового места, но точно остались в сердечке.
И 🔥, если хотите аналогичных активностей и готовы выбирать еще!
Здесь играет барабанная дробь и интригующая музыка... Вам нужно только выждать драматическую паузу перед объявлением победителей — в каждой номинации он один, и определяется большинством голосов. Готовы?
В номинации «Продукт года» золотая мышь достается компании:
В номинации «Облачный продукт года» побеждает компания:
Звание «IT-ивент года» вручается компании:
И в категории «Дизайн года» первое место занимает компания:
Каждый ваш лайк, голос влияли на исход премии. Давайте поддержим всех — ставьте 🏆участникам, которые хоть и не заняли призового места, но точно остались в сердечке.
И 🔥, если хотите аналогичных активностей и готовы выбирать еще!
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1🙏1
RAG в JVM-стеке: AI-ассистент на Spring AI без Python
Команда автора статьи внедрила AI-ассистента для внутренней системы, не переходя на Python. Взяли Spring AI, PostgreSQL с pgVector и быстро убедились: качество ответов упирается не в код, а в данные. Документация оказалась разрозненной, стандартное разбиение на чанки теряло контекст.
После экспериментов с перекрытием и секциями пришли к простому решению: векторный поиск идёт по чанкам, но в ответ передаётся полный текст секций, к которым относятся найденные фрагменты. Это сохранило точность поиска и устранило разрывы инструкций. Главный вывод — модель не добавляет знаний, а лишь отражает зрелость документации. Улучшение базы знаний дало больший прирост качества, чем выбор более мощной LLM.
Для Java-разработчиков — готовый кейс внедрения RAG в привычном стеке. Подробности с примерами кода — в статье: https://habr.com/ru/companies/raiffeisenbank/articles/1012666/
Команда автора статьи внедрила AI-ассистента для внутренней системы, не переходя на Python. Взяли Spring AI, PostgreSQL с pgVector и быстро убедились: качество ответов упирается не в код, а в данные. Документация оказалась разрозненной, стандартное разбиение на чанки теряло контекст.
После экспериментов с перекрытием и секциями пришли к простому решению: векторный поиск идёт по чанкам, но в ответ передаётся полный текст секций, к которым относятся найденные фрагменты. Это сохранило точность поиска и устранило разрывы инструкций. Главный вывод — модель не добавляет знаний, а лишь отражает зрелость документации. Улучшение базы знаний дало больший прирост качества, чем выбор более мощной LLM.
Для Java-разработчиков — готовый кейс внедрения RAG в привычном стеке. Подробности с примерами кода — в статье: https://habr.com/ru/companies/raiffeisenbank/articles/1012666/
Три ИТ-события, которые вы могли пропустить (а зря)
Пока все гонятся за хайповыми новостями, мы вместе с коллегой Андреем Дмитриевым из JUG.ru собрали события, которые уже повлияли на мир разработки.
В пилотном выпуске нового подкаста:
— Хакеры стерли десятки тысяч ПК через Microsoft Intune
— Дефицит оперативной памяти до 2030 года
— Оптимизация glibc под x86_64
О других событиях вы можете узнать, послушав подкаст.
Особое внимание предлагаем уделить рефлексии. В выпуске мы подсветили, почему те или иные истории важны для ИТ-сообщества. А теперь призываем вас в комменты под видео: что уже вошло в вашу жизнь из этих кейсов? И как думаете, что из этого не производит резонанса?
Смотрите подкаст и присоединяйтесь к дискуссии: https://tprg.ru/S7jD
Пока все гонятся за хайповыми новостями, мы вместе с коллегой Андреем Дмитриевым из JUG.ru собрали события, которые уже повлияли на мир разработки.
В пилотном выпуске нового подкаста:
— Хакеры стерли десятки тысяч ПК через Microsoft Intune
— Дефицит оперативной памяти до 2030 года
— Оптимизация glibc под x86_64
О других событиях вы можете узнать, послушав подкаст.
Особое внимание предлагаем уделить рефлексии. В выпуске мы подсветили, почему те или иные истории важны для ИТ-сообщества. А теперь призываем вас в комменты под видео: что уже вошло в вашу жизнь из этих кейсов? И как думаете, что из этого не производит резонанса?
Смотрите подкаст и присоединяйтесь к дискуссии: https://tprg.ru/S7jD
VK Видео
Важные ИТ-новости #1
00:15 Java 26 00:56 glibc 01:55 Anthropic 02:45 Perplexity 03:38 Инженерная продуктивность 05:17 Python 06:24 Тони Хоар 07:37 Atlassian && Oracle 08:52 Youtube 09:59 Яндекс 10:35 DirectX 11:33 Excel 12:36 Андрей Карпатый 14:03 Intel 15:35 Microsoft…
🤔1
Как решить задачу охраны промышленных объектов
Проинспектировать НПЗ с десятками корпусов или организовать охрану трубопровода на 400 км — задача не из простых.
Камеры не заглянут за угол. Дрон через 30–40 минут работы придется зарядать. Охранник — дорого, медленно, небезопасно.
Остаётся робособака. Они уже вышли за пределы мемных видео от Boston Dynamics, и сейчас активно используются в кейсах, вроде охраны.
Как они устроены технически — можете узнать в материале на нашем сайте. Внутри:
— как устроено ядро и почему к нему нет прямого доступа
— почему к лидару обязательно добавляют сонар и радар
— как работает рой в mesh-сети без GPS
— где робот ломается (метель, стройка, полиэтиленовая плёнка)
Спойлер: экосистема пока сырая, стандартов нет, собрать самому нельзя. Но альтернативы для сложного рельефа и помещений — нет.
Проинспектировать НПЗ с десятками корпусов или организовать охрану трубопровода на 400 км — задача не из простых.
Камеры не заглянут за угол. Дрон через 30–40 минут работы придется зарядать. Охранник — дорого, медленно, небезопасно.
Остаётся робособака. Они уже вышли за пределы мемных видео от Boston Dynamics, и сейчас активно используются в кейсах, вроде охраны.
Как они устроены технически — можете узнать в материале на нашем сайте. Внутри:
— как устроено ядро и почему к нему нет прямого доступа
— почему к лидару обязательно добавляют сонар и радар
— как работает рой в mesh-сети без GPS
— где робот ломается (метель, стройка, полиэтиленовая плёнка)
Спойлер: экосистема пока сырая, стандартов нет, собрать самому нельзя. Но альтернативы для сложного рельефа и помещений — нет.
👍1