uz
Feedback
Библиотека Java разработчика

Библиотека Java разработчика

Kanalga Telegram’da o‘tish

📚 Лайфхаки, приёмы и лучшие практики для Java-разработчиков. Всё, что ускорит код и прокачает навыки. Java, Spring, Maven, Hibernate. По всем вопросам @evgenycarter РКН clck.ru/3KoGeP

Ko'proq ko'rsatish

📈 Telegram kanali Библиотека Java разработчика analitikasi

Библиотека Java разработчика (@bookjava) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 10 279 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 12 030-o'rinni va Rossiya mintaqasida 63 913-o'rinni egallagan.

📊 Auditoriya ko‘rsatkichlari va dinamika

невідомо sanasidan buyon loyiha tez o‘sib, 10 279 obunachiga ega bo‘ldi.

05 Iyun, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni 20 ga, so‘nggi 24 soatda esa 0 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.

  • Tasdiqlash holati: Tasdiqlanmagan
  • Jalb etish (ER): Auditoriya o‘rtacha 8.29% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 3.77% ini tashkil etuvchi reaksiyalarni to‘playdi.
  • Post qamrovi: Har bir post o‘rtacha 852 marta ko‘riladi; birinchi sutkada odatda 388 ta ko‘rish yig‘iladi.
  • Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 6 ta reaksiya keladi.
  • Tematik yo‘nalishlar: Kontent string, интерфейс, строка, boot, api kabi asosiy mavzularga jamlangan.

📝 Tavsif va kontent siyosati

Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
📚 Лайфхаки, приёмы и лучшие практики для Java-разработчиков. Всё, что ускорит код и прокачает навыки. Java, Spring, Maven, Hibernate. По всем вопросам @evgenycarter РКН clck.ru/3KoGeP

Yuqori yangilanish chastotasi (oxirgi ma’lumot 06 Iyun, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.

10 279
Obunachilar
Ma'lumot yo'q24 soatlar
+27 kunlar
+2030 kunlar
Postlar arxiv
All New Java Language Features Since Java 21 Обзорный рассказ обо всех новых фичах с Java 21 от развития pattern matching и работы с запечатанными типами до упрощения написания main-методов и поддержки Markdown в Javadoc. Будет интересно тем, кто хочет быть в курсе последних изменений в Java, понять, как они влияют на читаемость, производительность и организацию кода, и заранее подготовиться к переходу на новые версии. источник 👉@BookJava

Stream Gathering with a Different Distinct Function Статья обсуждает использование Gatherers в Java для определения собственн
Stream Gathering with a Different Distinct Function Статья обсуждает использование Gatherers в Java для определения собственной функции distinct. Автор предлагает альтернативный подход к стандартному методу distinct(), который позволяет более гибко определять уникальность элементов в потоке, что иногда может быть очень полезно.

import java.util.*;
import java.util.function.*;
import java.util.stream.*;

public class DistinctifyGatherer {
    public static <T> Gatherer<T, ?, T> of(
            ToIntFunction<T> hashCode,
            BiPredicate<T, T> equals,
            BinaryOperator<T> merger) {
        class Key {
            private final T t;
            public Key(T t) {this.t = t;}
            public int hashCode() {
                return hashCode.applyAsInt(t);
            }
            public boolean equals(Object obj) {
                return obj instanceof Key that
                       && equals.test(this.t, that.t);
            }
        }
        return Gatherer.<T, Map<Key, Key>, T>ofSequential(
                LinkedHashMap::new,
                (state, element, _) -> {
                    var key = new Key(element);
                    var existing = state.get(key);
                    if (existing != null) {
                        key = new Key(merger.apply(
                                existing.t, key.t));
                    }
                    state.put(key, key);
                    return true;
                },
                (keys, downstream) -> keys.values().stream()
                        .takeWhile(_ -> !downstream.isRejecting())
                        .map(key -> key.t)
                        .forEach(downstream::push)
        );
    }
}

https://www.javaspecialists.eu/archive/Issue326-Stream-Gathering-with-a-Different-Distinct-Function.html 👉@BookJava

Двухфакторная аутентификация (2FA) — стандарт безопасности, без которого нельзя представить современные приложения. Как реали
Двухфакторная аутентификация (2FA) — стандарт безопасности, без которого нельзя представить современные приложения. Как реализовать её на практике с помощью Spring Security? Какие есть подходы и сценарии использования? Это то, что нужно знать каждому начинающему backend-разработчику на Java. На открытом уроке курса «Разработчик на Spring Framework» вы увидите, как работает 2FA в Spring Boot, и разберёте реальные примеры внедрения. Это не просто теория, а практические шаги, которые помогут вам прокачать скиллы и почувствовать уверенность в разработке безопасных сервисов. Вебинар, который пройдёт 18 сентября в 20:00 МСК. Все участники получат скидку на обучение на курсе «Разработчик на Spring Framework». Регистрация открыта: https://vk.cc/cPpy1Z Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Советы по Spring 💡 Чтобы выполнять действия в транзакции базы данных, вы можете использовать шаблон Spring TransactionTempla
Советы по Spring 💡 Чтобы выполнять действия в транзакции базы данных, вы можете использовать шаблон Spring TransactionTemplate вместо @Transactional 👉@BookJava

VK JT = Java + Go! 16 сентября VK приглашает Go‑ и Java‑разработчиков на VK JT Meetup в Санкт-Петербурге. В программе: — Макс
VK JT = Java + Go! 16 сентября VK приглашает Go‑ и Java‑разработчиков на VK JT Meetup в Санкт-Петербурге. В программе: — Максимально практические доклады от техлидов VK о трансформации ВКонтакте, переходе части сервисов на Go и об устройстве и развитии единой видеоплатформы VK — Командные бэкенд-баттлы под менторством опытных разработчиков VK — кейсы, вдохновлённые реальной архитектурой VK Задавайте вопросы экспертам, ищите лучшее командное решение кейса и оставайтесь на афтепати: нетворкинг, фуршет, свободное общение с коллегами. Только офлайн, в офисе VK на Мойке. 🎟 Участие бесплатное, почитать подробнее и зарегистрироваться вы сможете на сайте

How to Upgrade to Java 25 В видео подробно разбираются проблемы и подводные камни при переходе на JDK 25 — от изменений в аннотациях, безопасности и работе с рефлексией до удаления старых API и модулей. Будет полезно разработчикам и командам, которые готовятся к миграции, поскольку в видео показывают, какие ошибки можно встретить и как правильно адаптировать код и окружение под новые требования платформы. 0:00 Intro 0:55 Default Annotation Processing 2:58 Final Record Pattern Variables 4:15 Security Property "include" 4:55 Null Checks in Inner Class Constructors 6:40 Unsafe Memory Access 8:52 Native Access 10:53 Security Manager 11:57 File System Operations on Windows 13:04 Unicode Updates and COMPAT Removal 14:41 Intermission 15:26 Removals 18:24 Deprecations for Removal 19:12 Separate Metaspace and GC Printing 20:41 Remote Debugging with jstat and jhsdb 21:53 Outro источник 👉@BookJava

Статья про будущие нововведения Spring Framework 7 и Spring Boot 4. Оба обновления ожидаются уже в ноябре 2025 года. Spring 7
Статья про будущие нововведения Spring Framework 7 и Spring Boot 4. Оба обновления ожидаются уже в ноябре 2025 года. Spring 7 принесет с собой список нововведений: -Jakarta EE 11. -Минимальная версия Java теперь 17. -Обещают улучшенную поддержку Kotlin 2.x. -spring-retry переходит в spring-core вместе с аннотациями @Retryable, @ConcurrencyLimit, @EnableResilientMethods. -@RequestMapping будет поддерживать параметр version для указания версии API. -RestClient и WebClient смогут работать с версиями API. -JmsClient — как RestClient, но для JMS. -Для null-safety будут использовать аннотации @Nullable и @NonNull от JSpecify. -Распаковка Optional в SpEl. -Обещают улучшения HttpHeaders API. -Jackson версии 3 и выше. Список обновлений Spring Boot 4: -Стал более модульным, что должно уменьшить размеры и JAR файлов. -Как и со Spring 7, минимальная версия — это Java 17. -Больше индикаторов и проверок в Spring Boot Actuator. -Образы, собранные с помощью AOT(Ahead-Of-Time)-компиляции и GraalVM, должны стать быстрее. -Jackson 3.x по аналогии со Spring 7, Servlet 6.1, WebSocket 2.2 и Micrometer 2.0. https://medium.com/@csmax/preparing-for-spring-boot-4-and-spring-framework-7-whats-new-263829429064 👉@BookJava

👩‍💻 Открытый урок «Система сбора информации о деятельности эмитентов облигаций». 🗓 17 сентября в 20:00 МСК 🆓 Бесплатно. У
👩‍💻 Открытый урок «Система сбора информации о деятельности эмитентов облигаций». 🗓 17 сентября в 20:00 МСК 🆓 Бесплатно. Урок в рамках старта курса «Java Developer. Professional». 🎯 О чём поговорим: ✔️ Рассмотрим реальное приложение для сбора данных об эмитентах облигаций, а не просто демонстрационный пример. ✔️ Разберемся в архитектуре Java-приложений для финансовых данных. ✔️ Узнаем, как интегрировать данные о рынке в эффективные приложения. 👥 Кому будет интересно: Это мероприятие будет полезно Java-разработчикам, архитекторам и IT-специалистам финансовых организаций. Вы получите ценные знания, которые сможете применить на практике. 🎁 Дарим промокод, который дает скидку на обучение - JAVA_09 🔗 Ссылка на регистрацию: https://vk.cc/cPlYHL Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Java for Small Coding Tasks Видео про скриптинг на Java. Отличный способ посмотреть на привычный язык под другим углом и увидеть, как рушатся привычные подходы и табу. Вначале рассказывается, почему для скриптов используется Java, а не Python. Ответ банален: автор хорошо знаком с Java, она ему привычна. Но вот то, как и с помощью чего пишутся скрипты, совсем непривычно. Например, удобная и знакомая всем Intellij IDEA не очень подойдет, потому что вам вряд ли понадобится серьезная структура пакетов и классов для небольшого скрипта. А один файл часто удобнее открыть в редакторах попроще, например nvim или VS Code. С инструментами для сборки тоже интересно. Никто не захочет использовать Maven или Gradle, чтобы запустить небольшой однофайловый скрипт. Поэтому можно компилировать и запускать в оперативной памяти. Да, так придется компилировать на каждом запуске, зато не нужно беспокоиться об упаковке в Jar каждый раз, когда поправляешь скрипт. Одна строка #!/usr/bin/env java --source 25 в начале файла позволит запускать скрипт в среде Linux, просто указав путь к файлу. А если все-таки нужна зависимость, можно использовать jpm, чтобы управлять Maven-зависимостями без больших инструментов для сборки. источник 👉@BookJava

ClassLoader Hell в Java: скрытый убийца продакшена Когда в энтерпрайз-приложении внезапно летят ClassNotFoundException, NoSuchMethodError, LinkageError или растёт Metaspace — почти наверняка это ClassLoader Hell: побочный эффект того, как JVM грузит классы. Откуда берётся 1. Конфликт версий: в classpath оказываются разные версии одной библиотеки (например, log4j 1.x и 2.x). Разные ClassLoader’ы подтягивают разные классы → IncompatibleClassChangeError, падения на старте. 2. Утечки ClassLoader’ов: после undeploy web-приложения его ClassLoader не собирается GC (висят ссылки/потоки) → дубли классов, рост памяти, OutOfMemoryError. Симптомы - ClassNotFoundException / NoClassDefFoundError - LinkageError-ы (IllegalAccess, IncompatibleClassChange, NoSuchMethod) - Нестабильный старт сервера, случайные ошибки, постепенный memory bloat Как выбраться - Держи зависимости под контролем: Maven/Gradle, mvn dependency:tree / gradle dependencies, исключай конфликтующие транзитивные, добивайся convergence версий. - Понимай иерархию серверных загрузчиков (Tomcat/JBoss/WebLogic): изоляция по веб-приложениям; по умолчанию пакуй либы внутрь WAR/EAR, не клади «общие» JAR’ы в shared/lib без крайней нужды. - Shading/relocation: Maven Shade Plugin → fat JAR + переименование пакетов конфликтующих зависимостей. - JPMS (Java 9+): явные requires / exports, сильная инкапсуляция, надёжная конфигурация на старте. - Диагностика: запускай с -XX:+TraceClassLoading, смотри JVisualVM/JConsole на живых ClassLoader’ах и metaspace. - KISS: меньше зависимостей, регулярные апдейты ключевых библиотек. Чек-лист на 30 секунд - Прогоняю дерево зависимостей и фиксирую версии. - Убираю дубли и «скрытые» транзитивные. - Проверяю, откуда грузится проблемный класс (трассировка/инструменты). - Решаю: изоляция на уровне сервера, shading или миграция на JPMS. Полный разбор с примерами тут 👉@BookJava

⁉️ Что нового в Spark 4.0? Apache Spark продолжает развиваться и в версии 4.0 готовит для нас несколько важнейших обновлений.
⁉️ Что нового в Spark 4.0? Apache Spark продолжает развиваться и в версии 4.0 готовит для нас несколько важнейших обновлений. Хотите узнать, как эти изменения улучшат обработку данных и повлияют на вашу работу? Присоединяйтесь к открытом вебинару 9 сентября в 20:00! — Обзор Spark 4.0: главные нововведения и улучшения. — Производительность и оптимизации: что ускорилось и как этим пользоваться? — Новые API и функции: возможности для разработчиков и аналитиков. — Интеграция с Kubernetes, облачными платформами и Data Science инструментами. — Практические кейсы: как применять нововведения в реальных задачах. 👨‍💻🛠👨🏻‍💻 Если вы дата-инженер, аналитик, разработчик или DevOps-специалист, этот вебинар точно для вас. ➡️Присоединяйтесь и получите скидку на курс «Spark Developer»: https://vk.cc/cPiGom Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Как мы в Java-проекте UDT для PostgreSQL поддерживали PostgreSQL позволяет создавать хранимые функции и процедуры. И если при
Как мы в Java-проекте UDT для PostgreSQL поддерживали PostgreSQL позволяет создавать хранимые функции и процедуры. И если при их вызове с простыми данными проблем не возникает, то сложные иерархические структуры могут вызвать трудности. В статье мы разберёмся, как передавать и получать вложенные объекты в процедурах и функциях PostgreSQL с помощью JDBC. https://habr.com/ru/companies/bercut/articles/940614/ 👉@BookJava

Совет по Java Time Обратите внимание на equals() и isEqual() в классах работы с датой и временем! ZonedDateTime, OffsetDateTi
Совет по Java Time Обратите внимание на equals() и isEqual() в классах работы с датой и временем! ZonedDateTime, OffsetDateTime и OffsetTime ведут себя по-разному: - equals(): Сравнивает все поля (включая зону/смещение) - isEqual(): Сравнивает только момент времени (игнорируя зону/смещение) Один и тот же момент времени может дать разные результаты. 👉@BookJava

👩‍💻 Открытый урок «Создание потоковых приложений с использованием Kafka Streams». На вебинаре разберем как с помощью Kafka
👩‍💻 Открытый урок «Создание потоковых приложений с использованием Kafka Streams». На вебинаре разберем как с помощью Kafka Streams создавать потоковые приложения, что важно для работы с большими данными и потоками в реальном времени. 🗓 10 сентября в 20:00 МСК 🆓 Бесплатно. Урок в рамках старта курса «Java Developer. Professional». 🎯 О чём поговорим: ✔️ Обсудим, что такое потоковые приложения и как их можно интегрировать с Kafka. ✔️ Изучим работу с библиотекой Kafka Streams и освоим основы DSL. ✔️ Разберемся в работе с состоянием потоков и его применении на практике. 👥 Кому будет интересно: Этот вебинар будет полезен Java-разработчикам и архитекторам, которые хотят внедрять потоковые вычисления и анализ в свои приложения. Вы получите все необходимые знания, чтобы начать использовать Kafka Streams для создания высокоэффективных потоковых решений. 🎁 Дарим промокод, который дает скидку на обучение - JAVA_09 🔗 Ссылка на регистрацию: https://vk.cc/cPbeDj Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

+7
Java Кеширование данных в Spring Boot Полезные советы по работе с BigDecimal в Java Алгоритмы: бинарный поиск на отсортированном массиве (реализация на Java) Алгоритмы: поиск простых чисел с помощью "решета Эратосфена" Алгоритмы: проверка слов и предложений на палиндром Алгоритм определения анаграмм Алгоритм инвертирования массива на Java Разбор и вычисление арифметических выражений на Java источник 👉@BookJava

Шпаргалка по Java Streams API 👉@BookJava
+3
Шпаргалка по Java Streams API 👉@BookJava

Совет по Spring Boot💡 Spring Boot Custom Bean Validations с Jakarta Constraint Validator, группировка ограничений проверки,
Совет по Spring Boot💡 Spring Boot Custom Bean Validations с Jakarta Constraint Validator, группировка ограничений проверки, последовательность групп и i18n https://gist.github.com/aoudiamoncef/9eeece142d1ef0faa4d06216a41282a2 👉@BookJava

Если вы пишете бэкенд на Java и хотите работать на уровне серьёзных проектов, тестирование в Spring — навык, без которого сей
Если вы пишете бэкенд на Java и хотите работать на уровне серьёзных проектов, тестирование в Spring — навык, без которого сейчас никуда. На открытом уроке «Тестирование Spring-приложений. Интеграционные тесты с контекстом» вы разберётесь, как правильно тестировать репозитории (JDBC и JPA) и сервисы с учётом транзакций. Это ключ к тому, чтобы ваш код был не только рабочим, но и надёжным в реальных продакшн-системах. Вы получите пошаговый разбор особенностей интеграционного тестирования и научитесь писать простые тесты для репозиториев и сервисов. Эти знания напрямую повысят вашу ценность на рынке как Java-разработчика. Урок проходит в преддверие старта курса «Разработчик на Spring Framework», все участники получат скидку на обучение: https://vk.cc/cP0uOe Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

«За пределами REST: использование full-stack сигналов для реактивных интерфейсов в реальном времени» — Лейф Острэнд @ Spring I/O 2025 Современному веб-приложению нужно больше, чем просто запрашивать JSON с сервера и отправлять обратно значения форм в виде JSON. Пользователи ожидают не просто ещё один CRUD-интерфейс на REST. Они ждут обновлений в реальном времени, офлайн-синхронизации и бесшовного опыта на разных устройствах. Достичь этого, опираясь только на низкоуровневые соглашения вроде REST и WebSockets, требует огромных усилий. Многие UI-фреймворки внедрили концепцию «сигналов», чтобы упростить обновление разных частей интерфейса при изменении состояния. Тот же подход можно применить и через сеть как full-stack-решение — для простого обновления интерфейсов сразу у нескольких пользователей, работающих с общим состоянием. В этом практическом докладе будет показано, как использовать концепцию full-stack-сигналов для простой синхронизации данных приложения между пользователями на всём уровне стека — от UI до базы данных. Вы узнаете, как создавать приложения, которые по-настоящему радуют ваших пользователей. источник 👉@BookJava

Spring Boot 4 и Spring Framework 7: Ключевые фичи и изменения Уже в ноябре 2025 выходит Spring Boot 4 — масштабный релиз, пос
Spring Boot 4 и Spring Framework 7: Ключевые фичи и изменения Уже в ноябре 2025 выходит Spring Boot 4 — масштабный релиз, построенный на фундаменте Spring Framework 7.0.0 и Jakarta EE 11. Это не просто очередное обновление, а важный этап в развитии всей Java-платформы: новые возможности для REST и безопасности, улучшенная работа с Kotlin и GraalVM, мощная поддержка облаков и нативных образов, а также инструменты для создания отказоустойчивых приложений. https://loiane.com/2025/08/spring-boot-4-spring-framework-7-key-features/ 👉@BookJava