Библиотека 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-приложения? У вас есть два пути:
1. Делать монолитную архитектуру и разрабатывать ПО как единое целое
2. Разбить большое приложение на микросерверы и наладить между ними связь.
У второго пути масса преимуществ:
• Легче ловить сбои и приводить приложение в порядок
• Отдельные компоненты можно масштабировать
• Разные микросервисы — разные технологии разработки, это интереснее
• Можно обновлять приложение по отдельным частям
• Разработка микросервиса легче, чем монолита
Если вы согласны, что второй путь вам многое облегчит в работе, ну или просто пора совершенствоваться как специалисту, то записывайтесь на наш курс по микросервисам на Java.
Вы научитесь:
- Делать микросервисы на Java и Kotlin
- Работать с инструментами для разработки микросервисов
- Использовать популярный Java-фреймворк Spring Boot
Знания прямо по ходу курса можно использовать в работе.
Курс подойдет для студентов IT-направлений и разработчикам.
Старт курса 1 сентября, программа и запись на нашем сайте: https://slurm.club/3cfdWW4
JRE – Java Runtime Environment, Java-окружение времени выполнения. Это набор всего необходимого чтобы запустить скомпилированную Java-программу. Окружение состоит из виртуальной машины Java (JVM), библиотеки классов (Java Class Library), консольной команды
java и прочей инфраструктуры. Тем не менее, JRE не достаточно чтобы создавать новые программы.
JDK – Java Development Kit, набор Java-разработчика. Это полнофункциональный SDK для Java. JDK включает в себя JRE, но кроме того содержит компилятор (javac) и другие инструменты разработки, такие как javadoc и jdb. С помощью JDK можно создавать и компилировать программы.
В большинстве случаев, если вам нужно только запускать Java программы, вы устанавливаете только JRE, если же вы планируете программировать на Java, вместо этого вам необходим JDK.
Источник
👉@BookJava⚡️ Чтобы стать QA-инженером с нуля, нужно ориентироваться в web-технологиях. Ведь чтобы победить, нужно знать своего врага в лицо!
👉 Именно поэтому OTUS проводит открытый урок для тех, кто хочет с нуля освоить эту профессию https://otus.pw/Jd5i/
🎯 На занятии мы с экспертом познакомимся с основами веб-технологий, чтобы нас не пугали такие слова, как HTML, CSS, FrontEnd и BackEnd.
👉 Регистрируйтесь на вебинар и до встречи в прямом эфире https://otus.pw/ZP1y/
📌 PS. Продолжить осваивать новую профессию вы сможете на специализации «QA Automation Engineer». Это онлайн-курс для тех, кто хочет с нуля освоить автоматизацию тестирования на Java.
Оцените количество памяти на хранение одного примитива типа byte в LinkedList?
Каждый элемент LinkedList хранит ссылку на предыдущий элемент, следующий элемент и ссылку на данные.
static class Node<E> {
E item;
Node<E> next;
Node<E> prev;
//...
}
Для 32-битных систем каждая ссылка занимает 32 бита (4 байта). Сам объект (заголовок) вложенного класса Node занимает 8 байт. 4 + 4 + 4 + 8 = 20 байт, а т.к. размер каждого объекта в Java кратен 8, соответственно получаем 24 байта. Примитив типа byte занимает 1 байт памяти, но в JCF примитивы упаковываются: объект типа Byte занимает в памяти 16 байт (8 байт на заголовок объекта, 1 байт на поле типа byte и 7 байт для кратности 8). Также напомню, что значения от -128 до 127 кэшируются и для них новые объекты каждый раз не создаются. Таким образом, в x32 JVM 24 байта тратятся на хранение одного элемента в списке и 16 байт - на хранение упакованного объекта типа Byte. Итого 40 байт.
Для 64-битной JVM каждая ссылка занимает 64 бита (8 байт), размер заголовка каждого объекта составляет 16 байт (два машинных слова). Вычисления аналогичны: 8 + 8 + 8 + 16 = 40байт и 24 байта. байта. Итого 64 байта.
👉@BookJavaЧем CompletableFuture отличается от Future?
Future – интерфейс, который представляет пока еще недовычисленный результат. Когда породившая его асинхронная операция заканчивается, он заполняется значением. Метод get блокирует выполнение до получения результата, isDone проверяет его наличие. К примеру результат выполнения задач в ExecutorService, ForkJoinTask, реализует интерфейс Future.
CompletableFuture появился в Java 8. Это класс-реализация старого интерфейса Future, а значит всё сказанное выше справедливо и для него. Вдобавок к этому, CompletableFuture реализует работу с отложенными результатами посредством коллбэков. Метод thenApply регистрирует код обработки значения, который будет автоматически вызван позже, когда это значение появится.
В Java 9 прогресс пошел дальше, и появилась библиотека Flow API. Это встроенная реализация реактивных стримов. Реактивный стрим, сильно упрощая, – это более общий случай, последовательность отложенных значений. Другая их реализация – популярная, но не входящая в стандарт библиотека Reactive Extensions (RxJava).
#Многопоточность #Классы
👉@BookJava
Зачем нужно соединять Java-программу на компьютере и Arduino?
Любой энтузиаст, строящий свои проекты на базе Arduino, рано или поздно сталкивается с необходимостью тем или иным способом обеспечить взаимосвязь этой платы со своим компьютером.
Такой симбиоз даёт возможность как управлять платой с компьютера, так и наоборот — компьютером с платы. Об этом мы и поговорим в этой статье.
👉@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
Не можете выбрать, какой язык учить? Пройдите бесплатный курс по профориентации Яндекс Практикума.
Выбрать язык по душе
Можно ли добавить одному элементу несколько одинаковых аннотаций?
По умолчанию нельзя. До Java 8 нужно было создавать дополнительную аннотацию-контейнер, в ней в виде проперти объявлять массив интересующих аннотаций. При применении набор аннотаций нужно было оборачивать в этот контейнер (см. на картинке).
Начиная с Java 8 в стандартную библиотеку добавлена мета-аннотация
@Repeatable.
Механизм ее действия такой же, как раньше: помечая ей интересующую аннотацию, необходимо указать параметром @Repeatable аннотацию-контейнер. Нововведение заключается в синтаксисе использования: теперь набор аннотаций оборачивается в контейнер неявно.
Со стороны Reflection при чтении мета-информации тоже появилась возможность не оперировать контейнером явно – метод getAnnotationsByType при необходимости найдет и развернет этот контейнер.
#Аннотации
👉@BookJava🔥Освойте профессиональный подход к разработке серверных приложения на Java!
🚀В OTUS стартовал набор на онлайн-курс «Java Developer. Professional». На пути к новому уровню в Java-разработке вы с ведущими Java-разрботчиками погрузитесь в сервисную разработку и разберетесь в алгоритмах, многопоточности, Spring, сборщиках мусора, байт-коде и classloader, тестировании и работе с окружением.
✔️Особенность курса — подробный код-ревью от экспертов. Во время обучения вы пополните свое портфолио домашними заданиями и проектной работой, которая поможет уверенно проходить собеседования на Middle+ специалиста с зарплатой от 200 тыс. рублей.
📌Узнайте больше о программе курса и пройдите вступительный тест, чтобы попасть в группу со скидкой: https://otus.pw/13QP/
Почему важен graceful shutdown в облачной среде (на примере Kubernetes + Spring Boot)
В облаке многие думают над стартом приложения, но не все задумываются о том, как оно завершается. В свое время мы наловили довольно много ошибок, связанных именно с остановкой подов. Например, увидели, что Kubernetes изредка убивает наше приложение до того, как оно успевает освободить ресурсы, хотя вроде бы так происходить не должно. Воспроизвести проблему с первого подхода не получилось, и мы задались вопросом, а что же там происходит под капотом? Далее
👉@BookJava
⁉️Стремитесь к росту в Java-разработке?
🎯Начните осваивать современные возможности Spring! Ждем вас на открытом уроке «REST и Spring Session» 24 августа в 20:00 мск. На занятии с Юрием Дворжецким, ведущим full-stack разработчиком, рассмотрим, что такое REST, как пишутся REST-сервисы с использованием Spring MVC.
Также обсудим вопросы применения Spring Session.
Вебинар в OTUS — это возможность протестировать курс онлайн-курс «Разработчик на Spring Framework».
📌Чтобы зарегистрироваться на мероприятие, пройдите вступительный тест: https://otus.pw/qlwe/
Можно ли наследовать аннотацию?
Можно понять этот вопрос по-разному. Если имеется в виду, передается ли аннотация класса-родителя классу-наследнику, ответ – по умолчанию нет. Но наследование можно включить, если на объявлении аннотации поставить мета-аннотацию
@Inherited. Это работает только для классов, переопределенные методы нужно аннотировать заново.
Другой возможный смысл вопроса – наследование самих типов-аннотаций. Аннотация, как класс или интерфейс представляется в системе ссылочным типом, она тоже компилируется в .class-файл. Вы можете создать переменную с типом, скажем, java.lang.Override.
Но в отличие от других ссылочных типов, объявление аннотации (@interface) не может иметь секций extends или implements. Это ограничение добавлено просто чтобы не усложнять систему типов. В скомпилированном коде все типы-аннотации – это интерфейсы, унаследованные от Annotation.
#Классы #Аннотации
👉@BookJava⬆️ На курсе «Профессия Архитектор ПО» вы вырастете как разработчик и повысите свой доход. Разберёте реальные кейсы от ведущих разработчиков «Альфа-Банка» и сможете проектировать масштабируемые и отказоустойчивые приложения.
За 5 месяцев вы научитесь:
✅ применять архитектурные стили и паттерны проектирования — API Gateway, CQRS и «Сага»;
✅ выявлять и проверять нефункциональные требования и характеристики систем;
✅ строить распределённые системы на основе микросервисов и создавать cloud-native-приложения;
✅ принимать архитектурные решения исходя из контекста;
✅ учитывать вопросы кибербезопасности при проектировании.
Навыки отточите на реальных задачах, а в конце курса презентуете итоговый проект — создадите отказоустойчивую систему по брифу от заказчика.
Спешите приобрести курс со скидкой!
🔥 Также для IT-специалистов действуют специальные плюшки от государства!
Узнать больше: https://clc.to/lUFx_g
Как сделать хеширование паролей в Java-приложениях правильным способом!
Существует множество способов хранения конфиденциальных паролей. И хотя наличие выбора - это здорово, в контексте хранения паролей неправильный выбор может стать кошмаром безопасности. В этой статье мы обсудим, как следует хэшировать пароли в Java-приложениях. Хотя вы можете применять эти принципы к любой экосистеме, мы специально покажем лучший способ хэширования паролей в Java.
👉@BookJava
Apache Kafka — платформа, с которой можно передавать и хранить информацию, сообщения в режиме реального времени.
С ней работают везде: в крупных госкорпорациях и частном бизнесе, в финтехе и авиации. Прямых конкурентов для организации для работы микросервисов нет, поэтому сисадминам, архитекторам ПО и разработчикам всё равно придется разбираться с Apache Kafka.
Можно потратить 2-3 месяца на самостоятельное изучение и чтение документации, перелопать весь YouTube и всё равно плавать.
А можно прийти к нам на базовый курс по Apache Kafka и получить всё и сразу:
📌Мы собрали необходимую информацию в одном месте, материалы будут доступны 2 года;
📌За основу курса взяли опыт двух разрабов, которые внедряли Apache Kafka на предприятии с нуля. Их инсайты, опыт и выводы — всё станет вашим;
📌Курс заточен на практику: теорию сразу же можно отработать на задачах, основанных на жизненных кейсах.
⠀
Видеокурс доступен уже сейчас, а 12 сентября стартует поток со спикерами.
⠀
Кафка, от которой нельзя отказаться: https://slurm.club/3Ca20iO
Большой гайд. Пишем микросервисы на Java и Spring Boot, заворачиваем в Docker, запускаем на EKS, мониторим на Grafana
Туториалы делятся на две больших категории: либо "как нарисовать сову", либо подробно расписанные тысячи шагов в формате "напиши туториал для дурака - и только дурак захочет его читать".
К какой из двух категорий относится эта статья — решать вам.
В этой статье вы увидите пошаговое создание cloud-native микросервиса на Amazon AWS, пригодное для "чтения с листа". Чтобы понять, что здесь происходит, не нужно разворачивать проект - достаточно обладать живым воображением и прочитать текст по диагонали. Если же вы всё-таки захотите повторить шаги, вам будут жизненно нужны знания вида, как создавать классы в IDE и что такое Spring.
👉@BookJava
🔥 Хотите углубить свои знания в области автоматизированного тестирования? 🔥
📌 Приходите 22 августа в 20:00 мск на открытый урок «Install Selenoid cluster» в OTUS.
На встрече с экспертом рассмотрим разворачивание selenoid кластера с использованием docker и разберемся, как организовать балансировку нагрузки между selenoid инстансами.
Еще больше полезных навыков ждет вас на онлайн-курсе «Java QA Engineer. Professional» для автоматизаторов тестирования на Java с опытом.
👉🏼 Для комфортного участия определите свой уровень подготовки. Пройдите тест https://otus.pw/Erti/
Для чего используются аннотации?
Удобно рассмотреть случаи применения аннотаций с точки зрения возможных значений их свойства
RetentionPolicy:
SOURCE – аннотация присутствует только в исходном коде, но не вовлечена в компиляцию. Можно разделить их на две категории:
Первая – аннотации для программиста, а не для программы. Это всевозможные маркеры. Они добавляют аннотируемым элементам некоторую специальную семантику. Более формализованный вариант документации. Примеры – @Immutable и @ThreadSafe из Hibernate.
Вторая категория – инструкции для инструментов разработки. Примеры этой категории, @SuppressWarnings и @Override могут влиять на предупреждения и ошибки компиляции. IntelliJ IDEA умеет понимать @Nullable и @NonNull из Spring Framework, и предупреждать о возможных NullPointerException.
CLASS – самое экзотическое, но при том стандартное значение. Аннотация попадает в байткод .class-файла, но игнорируется загрузчиком классов. В результате такая аннотация недоступна для рефлекшна. Используется для сторонних инструментов, обрабатывающих байткод, например для обфускаторов.
RUNTIME – самое ходовое значение. Цель снабжается метаинформацией, доступной во время выполнения программы. Сама по себе аннотация всё так же не добавляет нового поведения. Для практической пользы runtime-аннотации в программе должен быть исполнен некоторый код процессинга, который прочитает метаинформацию инструментами Reflection API. Такой механизм широко используется во множестве популярных фреймворков: Spring, Hibernate, Jackson.
#Язык #Аннотации
👉@BookJava♨️Задумываешься начать карьеру в IT в качестве Java-разработчика?
🎯 Испытай себя в этом деле на открытом уроке 22 августа в 20:00 «Элементы формальной логики. Базовые структуры данных в языке Java» в OTUS.
Вместе с сертифицированным Java-разработчиком Евгением Непомнящим познакомимся с основами алгоритмов и булевой алгебры. В процессе мы изучим базовые структуры данных языка Java: массивы, списки и словари.
📚Занятие проходит в рамках буткемпа «Java Developer» для тех, кто хочет за 3 месяца освоить профессию Java-разработчика.
📌Запишитесь на урок: https://otus.pw/ZEf1/
现已上线!2025 年 Telegram 研究 — 年度关键洞察 
