Java guru
4.35K subscribers
1 photo
1 video
1 file
266 links
Новости из мира Java, обзоры интересных библиотек и фреймворков, обучающие статьи. Онлайн обсуждения актуальных тем и обмен опытом. Для связи @RodmanDV
Download Telegram
Что ищет он в краю далёком? Как найти смысл жизни с PostgreSQL

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

https://habr.com/ru/companies/rostelecom/articles/855712/

#PostgreSQL #pgvector #LLM
👏6🔥51
HHH90003004: firstResult/maxResults specified with collection fetch; applying in memory

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

Проблема возникает потому, что число записей не совпадает с числом самих объектов (например, один пост имеет много комментариев). Из-за этого пагинация на SQL-уровне невозможна.

Чтобы реализовать пагинацию программно, Hibernate вытаскивает все данные целиком — и вот тут-то кроется подвох!

В статье разобраны разные способы устранения проблемы 🚀

https://habr.com/ru/articles/856092/

#Hibernate #Database
🔥64👍2👎1
Виртуальные потоки Java: разбор тестовых сценариев

Команда Open Liberty изучила влияние виртуальных потоков на производительность Java-приложений и поделилась результатами исследования.

🔹 Что нового: Виртуальные потоки предлагают альтернативу классическим пулам потоков, реализованным в Liberty.

🔸 Основные выводы:
Для большинства облачных рабочих нагрузок использование виртуальных потоков не даёт заметных преимуществ перед адаптивными пулами потоков Open Liberty.
Нагрузки, активно использующие процессор, показывают меньшую пропускную способность с виртуальными потоками, хотя причина этого ещё выясняется.
⚡️ Время выхода на полную мощность обработки запросов сокращается благодаря использованию виртуальных потоков («один поток на запрос»).
📊 Объем занимаемой памяти зависит от множества факторов, поэтому снижение потребления памяти виртуальными потоками не гарантирует общего снижения затрат ресурсов.
⚠️ Обнаружены случаи неожиданных падений производительности, над которыми продолжается работа совместно с сообществом OpenJDK.

Статья подробно описывает тестирование, сравнение технологий и рекомендации по выбору подходящей стратегии многопоточности для приложений на платформе Open Liberty.

https://habr.com/ru/companies/otus/articles/856464/

#java #OpenLiberty #multithreading #VirtualThreads
👍3🔥21😱1