Библиотека Java разработчика
前往频道在 Telegram
📚 Лайфхаки, приёмы и лучшие практики для Java-разработчиков. Всё, что ускорит код и прокачает навыки. Java, Spring, Maven, Hibernate. По всем вопросам @evgenycarter РКН clck.ru/3KoGeP
显示更多📈 Telegram 频道 Библиотека Java разработчика 的分析概览
频道 Библиотека Java разработчика (@bookjava) 俄语 语言赛道中的 是活跃参与者。目前社区聚集了 10 264 名订阅者,在 技术与应用 类别中位列第 12 013,并在 俄罗斯 地区排名第 63 881 位。
📊 受众指标与增长动态
自 невідомо 创建以来,项目保持高速增长,吸引了 10 264 名订阅者。
根据 12 六月, 2026 的最新数据,频道保持稳定运转。过去 30 天订阅人数变化为 8,过去 24 小时变化为 1,整体触达仍然可观。
- 认证状态: 未认证
- 互动率 (ER): 平均受众互动率为 8.51%。内容发布后 24 小时内通常能获得 4.36% 的反应,占订阅者总量。
- 帖子覆盖: 每篇帖子平均可获得 873 次浏览,首日通常累积 447 次浏览。
- 互动与反馈: 受众积极参与,单帖平均反应数为 6。
- 主题关注点: 内容集中在 string, интерфейс, строка, boot, api 等核心主题上。
📝 描述与内容策略
作者将该频道定位为表达主观观点的平台:
“📚 Лайфхаки, приёмы и лучшие практики для Java-разработчиков. Всё, что ускорит код и прокачает навыки. Java, Spring, Maven, Hibernate.
По всем вопросам @evgenycarter
РКН clck.ru/3KoGeP”
凭借高频更新(最新数据采集于 13 六月, 2026),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。
10 264
订阅者
+124 小时
-187 天
+830 天
帖子存档
Как применить регулярное выражение в Java?
Регулярные выражения – мощный механизм работы со строками. Здесь мы не будем говорить о регулярных выражениях в целом, поговорим об их использовании в Java. Это становится возможно благодаря пакету
java.util.regex стандартной библиотеки.
Работа с регулярными выражениями в Java начинается с класса Pattern. Это представление самого выражения, без привязки к целевому тексту. Создать его можно компиляцией строки, с помощью фабричного метода Pattern.compile(). Паттерн иммутабельный и потокобезопасный.
Matcher – регулярное выражение, примененное к конкретному тексту. Пораждается вызовом метода Pattern.matches(). Одним паттерном можно порождать несколько разных матчеров. В отличие от паттерна, матчер мутирует. Он не безопасен для многопоточной среды. Основные операции регулярных выражений – перебор совпадений, доступ к группам, замена – реализованы именно в этом классе.
Работа с экземпляром Matcher похожа на работу с итератором. Результат метода matches() просто скажет, соответствует ли строка шаблону. Но после его вызова матчер поменяет состояние. Теперь, из него можно получить группы, позицию совпадения в тексте, а также произвести замену.
В объекте шаблона Pattern реализованы несколько методов-сокращений, чтобы не использовать Matcher явно. Например, просто проверить строку на соответствие выражению можно одним методом Pattern.matches().
👉@BookJava⚡️Планируешь освоить программирование, но не знаешь, с чего начать?
Уже 07 сентября в 20:00 на открытом уроке для новичков в OTUS ты сможешь начать изучать основы Java https://otus.pw/9Cot/
🔥За 1, 5 часа на занятии с опытным экспертом мы:
- Разберем основы java
- Узнаем что такое дженерики
- Изучим, для чего они нужны и как использовать.
👉 Продолжить осваивать новую профессию вы сможете на специализации «Java-разработчик». Это онлайн-курс для тех, кто хочет с нуля освоить программирование на Java.
Регистрация на урок https://otus.pw/HX6n/
Py4J – мост между Python и Java
Название Py4J можно встретить разве что в списке библиотек, используемых PySpark, но не стоит недооценивать данный инструмент, который обеспечивает совместную работу Python и Java. В этой статье будет кратко описана работа Py4J, рассмотрен пример использования и перечислены сильные и слабые стороны библиотеки. В конце будут описаны альтернативные способы связи Java и Python.
👉@BookJava
Алексей Шипилёв - Java-объекты наизнанку
Один из часто задаваемых вопросов об объектах в Java — сколько же они занимают в памяти? В отсутствие языковой или библиотечной операции «sizeof», программистам остаётся гадать о футпринте их кода, или ссылаться на легенды и рассказы специалистов.
В этом докладе мы постараемся заглянуть в изнанку Java-объектов и увидеть, что в них лежит. После этого должны стать ясны многие трюки в футпринте объектов, станут понятны некоторые особенности рантаймов, и будет очевидно, что и как можно эксплуатировать в грязных низкоуровневых целях
https://www.youtube.com/watch?v=3BmznLJAgaA
👉@BookJava
🔥Прокачайте свои навыки разработки на Java!
⏰ 5 сентября в 20:00 пройдет открытый урок «Не хипом единым живёт Java» с Виталием Куценко, ведущим Java-разработчиком в RND.
Когда говорим про память в Java, то чаще всего вспоминают Heap и Garbage Collector. Но у нас есть больше не менее интересного в памяти, о чем мы и поговорим на занятии.
📚После вебинара еще больше технологий и инструментов Java-разработки на онлайн-курсе «Java Developer. Professional» для программистов с опытом от 1 года.
📌Пройдите вступительный тест, чтобы зарегистрироваться на занятие: https://otus.pw/7Of0/
Классы BigInteger и BigDecimal
BigInteger и BigDecimal – иммутабельные числа с заданной точностью. Эти классы – наследники Number, наряду с обертками примитивных чисел. В классах также реализованы базовые математические операции. Наибольший интерес представляет класс BigDecimal – дробное число.
Числа с плавающей точкой (float, double) хранят свои значения в памяти в экспоненциальном виде: знак-порядок-мантисса. Этот факт приводит к неочевидным с точки зрения десятичной системы округлениям при математических операциях.
BigDecimal хранит число в десятичном виде: немасштабированное значение (intVal), размерность (scale), точность (precision) и знак. Значение раскладывается на эти компоненты как intVal ÷ 10^scale. Точность – количество используемых знаков, без учета нулей в начале, но с учетом нулей в конце. Точность числа 0.0010 – 2.
Экземпляр BigDecimal можно создавать из числа с плавающей точкой, и из строки. В первом случае преобразование из экспоненциального в десятичный вид может привести к неожиданной точности, так что рекомендуется использовать строку.
У класса BigDecimal есть редкая особенность: у него не согласованы методы equals() и compareTo(). equals() сравнивает значения с точки зрения структуры объекта – компоненты точности, размерности и значения сравниваются по отдельности. Так equals на числах 0.1 и 0.10 вернет false – у них разная точность, 1 и 2. compareTo() сравнивает числа с математической точки зрения – на тех же 0.1 и 0.10 compareTo вернет 0.
Вместе с BigDecimal активно используется класс MathContext. Это точность, плюс план действий когда значение в нее не влазит – стратегия округления. MathContext можно передавать как в конструктор, так и в математические операции.
BigInteger можем рассматривать как частный случай BigDecimal. Он используется для целых чисел, больших чем Long.MAX_VALUE.
👉@BookJavaWeekend Offer в команды Почты и Облака Mail.ru
До 9 сентября VK принимают заявки на участие в оффере для Java-разработчиков, чтобы те стали частью большой команды и помогали развивать один из самых востребованных продуктов ВКонтакте – VK Звонки.
10 сентября тимлиды команды VK Звонков подробно расскажут о задачах, которые вам предстоит решать, а уже 11 сентября, после финальных собеседований,
отправят офферы лучшим кандидатам.
Подать заявку
Получите навыки программиста за 7 дней!
Вы погрузитесь в направление «Программирование» от GeekBrains, пройдёте мастер-класс от ведущих специалистов и выберите себе специализацию.
Вас ждут:
– Вводный курс: все, что вам нужно знать на старте про профессию программиста и другие ключевые профессии в IT.
– Мастер-класс по программированию, где вы сможете самостоятельно попрактиковаться в решении задач.
– Эксклюзивные лекции по основам программирования – знания, которые необходимы для любой IT-профессии(
Пройдите анкету после регистрации и получите курсы с платных программ GeekBrains: https://clc.to/5mY5Uw
Эволюция сборщика мусора от JDK 8 до JDK 18
Прикрепили PDF, либо прочитать на сайте https://blogs.oracle.com/javamagazine/post/java-garbage-collectors-evolution
👉@BookJava
Можно ли выбрасывать исключение generic-типа?
Короткий ответ – да. Как в большинстве каверзных вопросов про дженерики, ответ становится очевидным если подумать, во что сотрутся типы-параметры.
Чтобы объявить, что метод выбрасывает исключение обобщенного типа
T, этот тип T должен быть объявлен расширяющим Throwable. Именно в Throwable в таком случае сотрется T при компиляции. Также в качестве типа-верхней границы можно использовать любого наследника Throwable:
class MyClass {
void foo() throws T {
// ...
}
}
#Дженерики
👉@BookJavaЖдем всех Java-разработчиков на бесплатном митапе от Росбанка при поддержке JUG Ru Group.
🗓 6 сентября, 19:00.
Онлайн: https://bit.ly/3TiozIc
Офлайн: в деловом центре "Москва-Сити". Участники смогут посетить экскурсию по инновационному офису Росбанка.
В программе:
✔Алексей Салаев — «Оптимизация запросов с использованием Spring cache и Bean scope»
✔ Семен Киреков — «Spring Data JPA. Save и границы его применения»
✔ Иван Пономарев — «Kafka streams testing: a deep dive»
После каждого доклада вы сможете поучаствовать в дискуссии и задать вопросы спикерам. Автор лучшего вопроса получит удобный рюкзак от Росбанка 🎁
Участие бесплатное, нужно только зарегистрироваться: https://bit.ly/3TiozIc
Какая версия JVM самая быстрая?
Как на высокопроизводительное Java-приложение с низкой задержкой влияет используемая версия JVM? Каждая наносекунда имеет значение для торговых и других приложений, где обмен сообщениями между двумя разными потоками происходит примерно за 250 нс! Прочитайте эту статью и узнайте, какой вариант JDK является лучшим!
#jvm
👉@BookJava
Подборка каналов для IT специалистов 🎯
https://t.me/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
https://t.me/kotlin_lib Подборки полезного материала по Kotlin
https://t.me/nodejs_lib Подборки по Node js и все что с ним связано
https://t.me/React_lib Подборки по React js и все что с ним связано
https://t.me/ruby_lib Библиотека Ruby программиста
https://t.me/frontend_sovet Frontend советы, примеры и практика!
Программирование C++📌
https://t.me/cpp_lib Библиотека C/C++ разработчика
https://t.me/cpp_knigi Книги для программистов C/C++
Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
https://t.me/python_360 Книги по Python Rus
Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
https://t.me/java_360 Книги по Java Rus
GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub
CodePen 📌
https://t.me/codepen_1 Сообщество пользователей CodePen
Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
Разработка игр 📌
https://t.me/game_devv Все о разработке игр
Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT
Чат программистов📌
https://t.me/developers_ru
Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
БигДата, машинное обучение 📌
https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/coddy_academy Полезные советы по программированию
QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://t.me/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров
https://t.me/arhitekturamira World Architecture
Системное администрирование 📌
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://t.me/sysadminoff Новости Линукс Linux
Английский 📌
https://t.me/UchuEnglish Английский с нуля
Математика 📌
https://t.me/Pomatematike Канал по математике
Арбитраж трафика 📌
https://t.me/partnerochkin CPA и арбитраж трафика
Крипта 📌
https://t.me/bitkoinoff Новости криптовалют
Метавселенная, GameFi, Crypto 📌
https://t.me/metaverse360
DeepFake 📌
https://t.me/deepfakenow Публикуем deepfake видео
Мир технологий 📌
https://t.me/mir_teh Видео из мира технологий
Excel лайфхак📌
https://t.me/Excel_lifehack
Зачем нужен package-info?
Обычно, чтобы создать новый пакет, вы создаете папку с соответствующим названием, и во всех ее
.java файлах добавляете в начале строчку с названием пакета, вида package full.dir.path;. Этого вполне достаточно для работы.
Однако, дополнительно вы можете добавить в пакет его объявление – файл package-info.java. Несмотря на то, что это .java-файл, это не объявление класса. В названии класса дефисы запрещены, так что неоднозначности не возникнет.
Минимальное содержимое файла package-info.java – всё та же строка package full.dir.path;. Такой файл не несет практической пользы. Есть две вещи, которые можно в него добавить, чтобы польза появилась.
Первое – документация пакета. Javadoc-комментарий будет использоваться генератором документации. Пример – описание пакета java.lang. Его исходник вы можете найти в файле java/lang/package-info.java.
Второе возможное применение – аннотации уровня пакета. Для этого аннотация должна иметь Target PACKAGE. Например, некоторые пакеты Spring Framework помечены аннотацией @NonNullApi.
Подробно объявления пакетов описаны в главе 7.4.1 спецификации.
#jvm
👉@BookJavaORM — отвратительный анти-паттерн
ORM - это ужасный анти-паттерн, который нарушает все принципы объектно-ориентированного программирования, разбирая объекты на части и превращая их в тупые и пассивные пакеты данных. Нет никаких оправданий существованию ORM в любом приложении, будь то небольшое веб-приложение или система корпоративного размера с тысячами таблиц и манипуляциями CRUD с ними. Какова альтернатива? Объекты, говорящие на языке SQL (SQL-speaking objects).
От автора перевода: Написанный далее текст может не совпадать с мнением автора перевода. Все высказывания идут от лица оригинального автора, просьба воздержаться от неоправданных минусов. Оригинальная статья выпущена в 2014 году, поэтому некоторые фрагменты кода могут быть устаревшими или "нежелаемыми".
original
👉@BookJava
⚡️ Для архитекторов, разработчиков, DevOps-инженеров или сетевых и сисадминов, тимлидов или специалистов ИБ OTUS открывает набор на онлайн-курс «Cloud Solution Architecture»
Ответьте на 25 вопросов и проверьте, насколько вы готовы к обучению на курсе - «Cloud Solution Architecture»
📌 В результате обучения вы освоите необходимые компетенции для разработки и поддержки архитектуры облачных приложений
💻 Открытый урок — Оптимизация стоимости владения, 5 сентября в 20:00
💻 Открытый урок — Функции как сервис на примере Yandex Cloud, 19 сентября в 20:00
Время прохождения теста ограниченно 45 минут
👉 ПРОЙДИТЕ ТЕСТ для оценки вашего уровня знаний и получите скидку
https://clck.ru/uJ4f8
Какие у аннотации бывают таргеты?
Мета-аннотация
@Target определяет, в каком контексте может применяться объявляемая аннотация. Допустимые контексты перечисляются значениями ElementType. По умолчанию, если @Target не указан, разрешены все контексты кроме TYPE_PARAMETER. Возможные таргеты:
• TYPE – Объявление класса, интерфейса, аннотации или enum-а.
• FIELD – Объявление поля (включая константы enum-ов).
• METHOD – Объявление метода.
• PARAMETER – Формальный параметр в объявлении метода.
• CONSTRUCTOR – Объявление конструктора.
• LOCAL_VARIABLE – Объявление локальной переменной.
• ANNOTATION_TYPE – Объявление аннотации. Применяется для создания мета-аннотации.
• PACKAGE – Объявление пакета (в package-info.java).
–– С Java 8 ––
• TYPE_PARAMETER – Обявление generic типа-параметра.
• TYPE_USE – Любое использование типа. Например приведение: (@NonNull String) myObject.
–– С Java 9 ––
• MODULE – Объявление модуля.
👉@BookJava🔥Хардкорный тест по Java🔥
⭕️Осторожно! Из-за этого курса можно стать супервостребованным Java-разработчиком!
Пройди тест из 20 вопросов и проверь насколько ты готов к обучению на углубленном курсе - "Java Developer. Professional" от OTUS
🦸🏼♂️62 компании-партнера ждут, когда ты овладеешь этим мастерством. Проходя вступительный тест курса помни, большая сила — большая ответственность!
📌ПРОЙТИ ТЕСТ
Как мы перевели API-модули микросервисного проекта с Feign на OpenFeign
Всем привет! Недавно мы решили задачу, как перейти на новую версию Spring + OpenFeign в мультимодульном проекте, в котором выделен API с навешенными аннотациями
@RestController и @FeignClient. По ссылке поделюсь с вами этим кейсом.
👉@BookJava
现已上线!2025 年 Telegram 研究 — 年度关键洞察 
