Java библиотека
31.5K subscribers
2.37K photos
89 videos
10 files
2.17K links
Книги, статьи, мемы и многое другое для Java программиста!

По сотрудничеству и рекламе: @NadikaKir

Канал в перечне РКН: https://vk.cc/cJrT4A

Мы на бирже: https://telega.in/c/javalib/

Сообщество VK https://vk.com/javatutorial
Download Telegram
🔥 25 сентября в 20:00 мск — открытый вебинар в OTUS!

О чём?

В мире высоконагруженных систем с сотнями сервисов управление конфигурацией, сервис-дискавери и координация компонентов — это настоящий вызов. Apache ZooKeeper — проверенное решение для создания надёжных и управляемых распределённых систем.

Что разберём:


- ZooKeeper: что это и зачем он нужен в распределённых системах.
- Архитектура: ZNode, лидер-выборы, механизмы согласованности.
- Применение: сервис-дискавери, управление конфигурацией, координация задач.
- Ограничения: сравнение ZooKeeper с Etcd и Consul.
- Практика: реальные кейсы использования в highload-системах.

🎓 После вебинара вы:

- Поймёте, как ZooKeeper решает задачи координации и конфигурации.
- Узнаете, когда использовать ZooKeeper, а когда выбрать Etcd или Consul.

🔧 Присоединяйтесь, чтобы освоить мощный инструмент для построения масштабируемых и отказоустойчивых систем!

👉 Зарегистрироваться https://vk.cc/cPItpe

Бесплатное занятие приурочено к старту курса Highload Architect, обучение на котором позволит освоить решения, которые выдерживают большое количество запросов в секунду и правильно оптимизировать работоспособность серверов

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
4👍3🔥2
Forwarded from Java Guru 🤓
Какой потенциальный риск присутствует?
👍7🔥3
👩‍💻 Основные улучшения Spring Boot 4

В новой версии Spring Boot 4, которая выйдет в ноябре 2025 года, разработчики получат ряд значительных улучшений, включая поддержку Jakarta EE 11, интеграцию с GraalVM 24 и улучшенную совместимость с Kotlin 2.2.

🟢Поддержка Jakarta EE 11
Spring Boot 4 перейдёт на Jakarta EE 11, что обеспечит поддержку Servlet 6.1, JPA 3.2 с Hibernate ORM 7.0 и Bean Validation 3.1. Это улучшит работу с веб-API и базами данных, а также обеспечит лучшую поддержку Kotlin и Java records.

🟢Интеграция с GraalVM 24
Поддержка GraalVM 24 позволит создавать нативные образы с улучшенной производительностью и меньшим временем запуска, что особенно важно для микросервисной архитектуры и облачных приложений.

🟢Совместимость с Kotlin 2.2
Spring Boot 4 улучшит работу с Kotlin 2.2, включая поддержку новых возможностей языка и улучшенную интеграцию со сборкой Gradle, что упростит разработку на Kotlin.

🟢Облачные технологии и контейнеризация
Улучшенные Buildpacks и более эффективная сборка Docker-образов обеспечат лучшую поддержку облачных технологий и контейнеризации, что упростит развертывание приложений.

🟢Безопасность
Spring Boot 4 будет основан на Spring Security 7, обеспечивая улучшенную интеграцию с OAuth 2.2 и OIDC, а также улучшенные криптографические настройки по умолчанию для повышения безопасности приложений.

Java библиотека #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍178🔥3
🏗 Курс “Архитектура и шаблоны проектирования” от OTUS — набор заканчивается. Успейте занять место в группе обучения!

Почему стоит записаться сейчас:


• 50% практики: вебинары, задания, проекты
• Онлайн-занятия 2 раза в неделю + записи навсегда
• Поддержка опытных менторов

💡 Кому подойдёт:
• Fullstack/Backend разработчикам
• DevOps-инженерам
• Desktop-разработчикам

После курса вы сможете:

• Применять архитектурные шаблоны и SOLID
• Рефакторить и писать чистый код
• Выбирать оптимальные решения

Места ограничены. Пройдите вступительный тест

👉 Пройти тест и записаться:

https://vk.cc/cPLfhg

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
2👍2🔥2🎅1
Архитектура микросервисного приложения, оптимизированная для продакшн-окружения

Основные компоненты:

1️⃣ API Gateway — точка входа, которая маршрутизирует запросы и балансирует нагрузку

2️⃣ Service Registry — централизованный реестр для обнаружения сервисов

3️⃣ Service Layer — набор независимых микросервисов с четким разделением задач

4️⃣ Authorization Server — безопасность через авторизацию

5️⃣ Database Layer — репликация для надежности

6️⃣ Distributed Cache — ускорение доступа к данным

7️⃣ Distributed Messaging — асинхронное взаимодействие

8️⃣ Queue Management Interface — мониторинг очередей

9️⃣ ELK Stack — сбор и анализ логов

Подписывайся на наш канал в Max 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍9🔥7
Forwarded from Java Guru 🤓
Что будет результатом кода?
🔥6👍3
Forwarded from Java Guru 🤓
Что будет результатом кода?
Anonymous Quiz
70%
5
22%
10
6%
Ошибка компиляции
1%
null
2%
UnsupportedOperationException
👍9🔥61
Modern Concurrency in Java: A Deep Dive into Virtual Threads, Structured Concurrency, and Scoped Values (2025) PDF

Welcome to the future of Java. With this book, you'll explore the transformative world of Java 21's key feature: virtual threads. Remember struggling with the cost of thread creation, encountering limitations on scalability, and facing difficulties in achieving high throughput? Those days are over. This practical guide takes you from Java 1.0 to the cutting-edge advancements of Project Loom.

You'll learn more than just theory. Author A N M Bazlur Rahman equips you with a toolkit for taking real-world action. Take a deep dive into the intricacies of virtual threads and complex topics such as ForkJoinPool, continuation, rate limiting, debugging, and monitoring. You'll not only learn how they work, but you'll also pick up expert tips and tricks to help you master these concepts. And you'll learn about structured concurrency and scoped values—critical skills for building Java applications that are scalable and efficient.
10
👩‍💻 Магия IntelliJ IDEA: Live Templates

Хотите ускорить написание кода и избежать повторений? Используйте Live Templates для создания шаблонов кода, которые можно вставлять за пару кликов.

🟢Что делает

— Позволяет создавать шаблоны кода для часто используемых конструкций
— Поддерживает параметры и автозамену (например, поля и методы)
— Работает для Java, Kotlin, HTML, и других языков

🟢Зачем это нужно

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

🟢Как использовать

— Ctrl+J (или Cmd+J на macOS) — откроет список шаблонов
— Можно создать свой шаблон в Settings → Editor → Live Templates
— Настройте шаблон под ваши нужды, и используйте его с удобным сокращением

Подписывайся на наш канал в Max 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
👍155🔥5
Podlodka Crew 29 сентября запускает новую конференцию — Podlodka AI Crew 🥳

Если вы ищете практические знания без воды — это оно. Подлодка собрала экспертов, которые покажут, что реально работает в коде, пайплайнах и командных процессах.

В программе:

📊«AI, ML, DS, нейросети: без хайпа в терминах» — разберём границы применимости подходов, чтобы отличать пользу от шума (Алексей Шаграев, ex-Google, ex-Yandex).

👥 Круглый стол «AI-культура в команде» — инструменты и практики, сопротивление/принятие, влияние на эффективность и безопасность (Макс Сальников / Microsoft, Владимир Иванов / Supplied, Михаил Левченко / Яндекс Вертикали, Павел Герасимов / Wrike).

💻 Мастер-класс «Project-aware ассистенты:
RAG + MCP» — живая документация, контекст кода для LLM и интерфейс запросов в мессенджере; как это ускоряет онбординг и разработку (Григорий Сухоруков, Яндекс).

«Эффективный промптинг» — техники, которые убирают типовые страхи и реально ускоряют разработку (Евгений Сатуров, Surf).

Почему это важно: AI уже часть рабочего стека — от IDE до CI/CD. Здесь — практики с измеримым эффектом: меньше рутины, быстрее процессы.

Кому будет полезно: разработчикам, архитекторам и техлидам, платформенным/DevOps-инженерам - всем, кто внедряет AI-процессы и ждёт измеримого результата.

🗓
29 сентября - 3 октября
🔗 Подробности и регистрация: https://podlodka.io/aicrew
👍3🔥32
👩‍💻 Сохраняйте шпаргалку по аннотациям спринга

Подписывайся на наш канал в Max 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3611🔥6
PostgreSQL 17 изнутри (2025) PDF

Рассматривается внутреннее устройство СУБД PostgreSQL: детали реализации многоверсионности и изоляции на основе снимков данных, включая процедуру очистки неактуальных версий строк; буферный кеш и журнал предзаписи; использование блокировок различных уровней; планирование и выполнение SQL-запросов; принципы расширяемости и особенности имеющихся индексных методов доступа. Большое внимание уделяется возможностям, предоставляемым для самостоятельного изучения механизмов функционирования PostgreSQL. В новом издании учтены замечания читателей и исправлены опечатки, а также внесены изменения, произошедшие в версии PostgreSQL 17.

Подписывайся на наш канал в Max 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍128🔥4
Когда выбрать EnumMap вместо HashMap

В стандартной библиотеке Java есть множество реализаций Map, но когда в качестве ключей используются значения перечислений (enum), оптимальным выбором будет именно EnumMap.

🟢Логика выбора коллекции

🔘HashMap — универсальный ключ-значение, хранит что угодно, но тратит память на hashCode.
🔘TreeMap — ключи в отсортированном порядке, но медленнее.
🔘LinkedHashMap — хранит порядок вставки.
🔘EnumMap — заточен под enum-ключи, самый быстрый и компактный для этого случая.

🟢Почему EnumMap крут

🔘Использует массив под капотом, а не хеш-таблицу — значит, lookup работает за O(1) без вычисления хэшей.
🔘Очень экономен по памяти (не хранит объекты Map.Entry).
🔘Гарантированно хранит ключи в порядке объявления enum-констант.

🟢Пример

enum Status { NEW, IN_PROGRESS, DONE }

EnumMap<Status, String> map = new EnumMap<>(Status.class);
map.put(Status.NEW, "Создан");
map.put(Status.IN_PROGRESS, "В работе");
map.put(Status.DONE, "Завершён");

for (var entry : map.entrySet()) {
System.out.println(entry.getKey() + " -> " + entry.getValue());
}


✔️ Когда использовать

— Ключи всегда являются значениями одного enum.
— Важен быстрый доступ к элементам и сохранение порядка ключей.
— Необходимо минимизировать использование памяти.

Когда не подходит

— Ключи не являются enum.
— Требуется поддержка null в качестве ключа.

Расскажите про боевой кейс использования в комментах.

Подписывайся на наш канал в Max 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥54
⌨️ Как вырасти до Мидла или Синьора в два раза быстрее?

👨‍💻Просто хорошо работать работу не достаточно. Ты делаешь то, что нужно компании, а не то, что повысит твой грейд

Лучший способ вырасти — это персональный план развития от Senior-инженера из БигТеха.

Вот как все работает:
1️⃣ Мок-интервью 1-на-1: Час реалистичного собеса с Senior-инженером из Иннотеха, Сбера или другого бигтеха
2️⃣ Честный фидбек: созвонимся и расскажем твои точки роста, оценим грейд и потенциальный уровень зарплаты
3️⃣Персональный план развития: не просто «учите алгосы», а роадмап с конкретными темами, который приведет тебя к желаемому грейду или офферу. Пример плана развития прикрепили к сообщению

Мы в ШОРТКАТ провели уже почти 1000 таких мок-интервью и получили оценку 4.9/5, поэтому знаем о чем говорим.

📈 Да, и все это за 900 рублей. Почему так дешево?
Мы хотим, чтобы у каждого была возможность проверить в деле наш сервис, а потом уже доверить нам свое развитие.

Переходи в нашего бота и забирай свой мок за 900 рублей @shortcut_sh_bot

Реклама.
О рекламодателе.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥4👍3
Pro Spring 6 with Kotlin: An In-depth Guide to Using Kotlin APIs in Spring Framework 6 (2023) True PDF, ePUB

Master the fundamentals of Spring Framework 6 while learning from the real-world experiences of Spring experts. Over the course of this book, you'll learn how to leverage Spring 6 in tandem with the Kotlin programming language to build complex enterprise applications from top to bottom. From monoliths to cloud native apps for streaming microservices, you’ll gain insight into every aspect of the process, including transactions, data access, persistence, and web and presentation tiers.

As you progress through the book, the authors demonstrate how to run Kotlin with a single command, deploy new utility methods in String class, use Local-Variable Syntax for Lambda Parameters Nested Based Access Control, read/write strings to and from files, and using Flight Recorder.


Подписывайся на наш канал в Max 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍5🔥4
charBuffer

Метод charBuffer() используется для получения буфера символов из строки. Он принадлежит java.nio.

Этот метод возвращает объект CharBuffer, который представляет последовательность символов строки.
CharBuffer позволяет эффективно читать и манипулировать символами строки без создания копий.

В этом примере создается строка «Hello». Затем из этой строки получаем буфер символов методом charBuffer().
В цикле посимвольно читаем из буфера символы и выводим их на экран.


Подписывайся на наш канал в Max 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍6🔥6
🖥 Fixture Monkey — инструмент на Java для автоматической генерации объектов для тестов

<dependency>
<groupId>com.navercorp.fixturemonkey</groupId>
<artifactId>fixture-monkey-starter</artifactId>
<version>1.0.20</version>
<scope>test</scope>
</dependency>


Fixture Monkey позволяет упростить написание тестов, облегчая генерацию необходимых тестовых объектов.
При этом можно повторно использовать одни и те же конфигурации объектов в нескольких тестах.

🖥 GitHub
🟡 Доки

Подписывайся на наш канал в Max 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍6🔥4
Media is too big
VIEW IN TELEGRAM
Java. Можно ли использовать ключ null в HashMap и TreeMap?

Разбираю, можно ли использовать ключ null в HashMap и TreeMap, и как это работает.

🌐🗣СМОТРЕТЬ VKVIDEO

📺🗣СМОТРЕТЬ RUTUBE

Подписывайся на наш канал в Max 🟪
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥42🍾1