Java Learning
前往频道在 Telegram
№ 5079899194 Обучающий канал по Java Ссылка для друга - https://t.me/+ZEYYht6-46w5MDM6 По всем вопросам @mascarov_valentin Реклама на бирже - https://telega.in/c/Java_per_month
显示更多📈 Telegram 频道 Java Learning 的分析概览
频道 Java Learning (@java_per_month) 俄语 语言赛道中的 是活跃参与者。目前社区聚集了 16 441 名订阅者,在 技术与应用 类别中位列第 7 862,并在 俄罗斯 地区排名第 39 849 位。
📊 受众指标与增长动态
自 невідомо 创建以来,项目保持高速增长,吸引了 16 441 名订阅者。
根据 31 十月, 2026 的最新数据,频道保持稳定运转。过去 30 天订阅人数变化为 -136,过去 24 小时变化为 -5,整体触达仍然可观。
- 认证状态: 未认证
- 互动率 (ER): 平均受众互动率为 18.24%。内容发布后 24 小时内通常能获得 N/A% 的反应,占订阅者总量。
- 帖子覆盖: 每篇帖子平均可获得 0 次浏览,首日通常累积 0 次浏览。
- 互动与反馈: 受众积极参与,单帖平均反应数为 0。
- 主题关注点: 内容集中在 learning, строка, map, static, интерфейс 等核心主题上。
📝 描述与内容策略
作者将该频道定位为表达主观观点的平台:
“№ 5079899194
Обучающий канал по Java
Ссылка для друга - https://t.me/+ZEYYht6-46w5MDM6
По всем вопросам @mascarov_valentin
Реклама на бирже - https://telega.in/c/Java_per_month”
凭借高频更新(最新数据采集于 01 十一月, 2026),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。
16 441
订阅者
-524 小时
-497 天
-13630 天
帖子存档
16 441
➡️ ThreadLocal.withInitial()
Тех, кто плотно работает с многопоточностью, ничем не пронять. Они как ветераны Вьетнама, и даже флешбеки по ночам так же мучают. И этой конструкцией их не напугаешь:
// Java 7 и ранее
ThreadLocal<ObjectMapper> mapper = new ThreadLocal<>() {
@Override
protected ObjectMapper initialValue() {
return new ObjectMapper();
}
};
✔️ Но теперь, за счёт замыканий, стало проще:
// Java 8
ThreadLocal<ObjectMapper> mapper = withInitial(() -> new ObjectMapper());
Java Learning 👩💻16 441
👩💻 Интеграционные тесты контроллеров, интеграций с внешними API и безопасности.
Ждём вас на третьем занятии серии открытых практических уроков по тестированию Spring-приложений от OTUS, где мы:
- рассмотрим специфику тестирования классических и REST-контроллеров и интеграций с внешними API;
- уделим внимание тому, как проверить, что все конечные точки нашего приложения действительно защищены;
- ответим на все возникающие вопросы.
Спикер — Senior Software Engineer, опытный преподаватель и руководитель курса.
Встречаемся 16 июля в 20:00 мск в преддверии старта курса «Разработчик на Spring Framework».
Все участники вебинара получат специальную цену на обучение!
➡️ Регистрируйтесь прямо сейчас, чтобы не пропустить бесплатный урок и получить записи предыдущих вебинаров серии: https://clck.ru/3BpWPN
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru16 441
👀 Map.computeIfAbsent()/getOrDefault()/merge()/putIfAbsent()
Возможно, если вы пишете на Java, то у вас в проекте есть код похожий на этот:
Map<String, Integer> data = ...;
for (String s : strings) {
if (!data.containsKey(key))
data.put(key, 0);
data.put(key, data.get(key) + 1);
}
Суть проста. Есть отображение из строки в счетчик, сколько раз мы встретили эту строку. Надо только не забывать инициализировать позиции Map‘а нулем, а то виртуальная машина в вас NullPointerException кинет.
➡️ В Java 8 эта же задача решается проще:
for (String s : strings) data.merge(s, 1, (a, b) -> a + b);Meтод merge принимает ключ, значение и функцию которая объединяет заданное значение и уже существующее в отображении, если таковое имеется. Если в отображении под заданным ключем значения нет, то кладет туда указанное значение. ✔️ Аналогичную функциональность, но в другом контексте, дают методы: •
computeIfAbsent() – возвращает или значение из отображения по ключу, или создает его, если его не было;
• cputIfAbsent() – добавляет значение в отображение, только если его там не было. Этот метод ранее имелся только у ConcurrentMap, теперь появился и у Map‘а;
• cgetOrDefault() – название довольно красноречиво. Возвращает значение из отображения или переданное значение по-умолчанию. На мой взгляд, метод довольно не идиоматичен. Для работы с отсутствующими значениями был добавлен тип Optional, его и следовало использовать. Поэтому, я бы добавил метод: Optional<V> getOptional(K key).
Java Learning 👩💻16 441
One Day Offer для Центра робототехники 🤖
13 июля вы сможете пройти все этапы отбора, познакомиться с инновационной командой Сбера и получить оффер Middle/Senior Robotics или Backend Developer.
Наш Центр проводит исследования, создаёт роботов, применяя искусственный интеллект, и работает по направлениям: манипуляция, роботизация логистики и мобильные роботы.
Сейчас перед нами стоит по-настоящему амбициозная задача – разработать антропоморфного робота общего назначения.
В работе мы используем: ROS/ROS2, DDS, Python, PyTorch, JAX, Model-transformers, SOTA, C++, Isaac Sim / MuJoCo / PyBullet.
Какие задачи будут в вашем планере 👇
▪️ разработка алгоритмов и систем управления роботами (core, body, brain) и драйверов для различных устройств в виде ROS2 узлов
▪️ создание алгоритмов внутренней и внешней калибровки сенсоров (лидары, камеры, IMU), робототехнических сервисов на Behavior Trees / State Machines
▪️ работа с симуляторами на базе Isaac Sim / MuJoCo / PyBullet
▪️ проектирование архитектуры системы
Масштабные проекты и работа мечты ждут вас. Регистрируйтесь на One Day Offer 13 июля 😉
16 441
Оплачиваемая стажировка и трудоустройство без опыта — ну ничего себе 😳
Все возможно с Добровольным квалификационным экзаменом! Это бесплатный проект Правительства Москвы, где ты можешь показать свои знания по специальности, запомниться потенциальным работодателям и получить оффер в престижные компании Москвы.
Тебя ждет всего три шага:
1️⃣ Пройди тест
После регистрации на сайте ДКЭ тебе будет доступно 70 профессий по 7 направлениям. Выбирай тест по своей специальности и проверь уровень своих знаний!
2️⃣ Реши кейс
Если ты успешно сдал тест, тебя пригласят на следующий этап, где ты с другими участниками в команде будешь решать реальный кейс одного из работодателей.
3️⃣ Стань победителем
Окажись в числе лучших по общему количеству баллов за оба этапа и получи шанс попасть на оплачиваемую стажировку с дальнейшим трудоустройством.
Готов проявить себя? Регистрируйся и начинай проходить тест — https://dke.moscow
Реклама. АНО "РАЗВИТИЕ ЧЕЛОВЕЧЕСКОГО КАПИТАЛА", АНО "РЧК". ИНН 7710364647. erid: LjN8JvdKw
16 441
⚠️ Избегайте конкатенации строк в больших циклах
При добавлении двух строк в цикле (
for, while, do-while), использование оператора + приводит к растрате памяти и увеличению времени выполнения.
🗣️ Это происходит из-за создания нового объекта String каждый раз при добавлении новой строки. Лучшей практикой является использование класса StringBuilder.
Java Learning 👩💻16 441
⚙️ Stamped Lock
Reflection позволяет динамически выполнять код, что может быть полезно, но злоупотребление ею снижает поддерживаемость кода.
Например, копирование полей объектов через рефлексию может выглядеть удобным, но добавляет сложности и потенциальные ошибки. Лучше явно копировать свойства, что делает код проще и более читаемым.
🗣️ Новые инструменты для инъекций зависимостей переходят от использования Reflection к генерации кода для улучшения проверки на этапе компиляции.
Java Learning 👩💻
16 441
❓ Как правильно использовать утилитарные классы
Утилитарные классы предназначены не для создания объектов, а для предоставления статических методов для выполнения общих функций. Если вы пишете слишком много таких классов, пересмотрите свой подход к проектированию кода.
Однако иногда они необходимы, например, для реализации внутренних предметно-ориентированных языков (DSL) в Java. В таких случаях часто отступают от принципов ООП, чтобы сделать синтаксис короче.
➡️ Если вам все-таки нужно создать утилитарный класс, придерживайтесь следующих рекомендаций:
• Сделайте конструктор приватным, чтобы класс нельзя было создать.
• Сделайте класс final, чтобы его нельзя было наследовать.
• Объединяйте методы в утилитарные классы по функциональности. Избегайте общих названий, таких как MvcUtils или CommonUtils.
Java Learning 👩💻
16 441
⚙️ Stamped Lock
Java Concurrent - один из самых интересных и в то же время малоизвестных пакетов Java, особенно среди разработчиков, работающих с веб-фреймворками.
🗣️ Lock - более гибкий механизм синхронизации потоков, чем synchronized. Начиная с Java 8, можно использовать StampedLock вместо ReadWriteLock, что обеспечивает лучшую производительность и оптимистичную блокировку операций чтения.
Java Learning 👩💻
16 441
👩💻 Тест по Java от OTUS
Проверь насколько хорошо ты знаешь Java и готов освоить Spring!
Ответишь — пройдешь на продвинутый курс "Разработчик на Spring Framework" от OTUS по специальной цене.
➡️ ПРОЙТИ ТЕСТ: https://clck.ru/3BhEEC
🎫 Курс можно приобрести в рассрочку
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru16 441
⚙️ Время суток в Time Format
Java 8 значительно улучшила API обработки времени, и дополнительная библиотека, такая как Joda Time, стала часто не нужна.
✔️ С Java 16 можно даже выражать время суток, например, «утром» или «днем», используя стандартный форматер с новым шаблоном формата
B.
Только не спрашивайте, почему он называется B. Кстати, вот фрагмент шаблонных букв и символов, обрабатываемых DateTimeFormatter.Java Learning 👩💻
16 441
⚙️ Время суток в Time Format
Java 8 значительно улучшила API обработки времени, и дополнительная библиотека, такая как Joda Time, стала часто не нужна.
✔️ С Java 16 можно даже выражать время суток, например, «утром» или «днем», используя стандартный форматер с новым шаблоном формата
B.
Только не спрашивайте, почему он называется B. Кстати, вот фрагмент шаблонных букв и символов, обрабатываемых DateTimeFormatter.Java Learning 👩💻
16 441
✉️ Улучшение логирования с использованием Java Logging API
Java предоставляет мощные инструменты для логирования, позволяя разработчикам легко отслеживать и управлять выводом логов.
✔️ Использование Java Logging API (java.util.logging) позволяет гибко настраивать и контролировать логирование в ваших приложениях.
Java Learning 👩💻
16 441
Переверни игру за день в офисе Финтеха и Фантеха Яндекса 🙃
Зовём бэкенд-разработчиков на вечеринку JavaKotDay, чтобы поменяться ролями и почувствовать себя яндексоидом ещё до того, как примешь оффер.
Приходи к нам в гости 14 июля, чтобы порулить на встречах по планированию, поважничать в переговорке и приложить руку к сервисам, которыми пользуются миллионы!
А между делом вкусно поедим, посплетничаем у кулера и обсудим планы с нашими CTO. Кто мы? 😜 Фантех — это Кинопоиск, Плюс, Музыка, Афиша и Букмейт. 🤑 Финтех — Пэй, Сплит, Сейвы, ID.
Хочешь на JavaKotDay? Подтверди свои скиллы и реши задачку на сайте →
16 441
Переверни игру за день в офисе Финтеха и Фантеха Яндекса 🙃
Зовём бэкенд-разработчиков на вечеринку JavaKotDay, чтобы поменяться ролями и почувствовать себя яндексоидом ещё до того, как примешь оффер.
Приходи к нам в гости 14 июля, чтобы порулить на встречах по планированию, поважничать в переговорке и приложить руку к сервисам, которыми пользуются миллионы!
А между делом вкусно поедим, посплетничаем у кулера и обсудим планы с нашими CTO. Кто мы? 😜 Фантех — это Кинопоиск, Плюс, Музыка, Афиша и Букмейт. 🤑 Финтех — Пэй, Сплит, Сейвы, ID.
Хочешь на JavaKotDay? Подтверди свои скиллы и реши задачку на сайте →
16 441
➡️ Delay Queue
DelayQueue - особый тип коллекции Java для сортировки элементов по времени задержки.
🗣️ Принадлежит пакету java.util.concurrent, реализует интерфейс BlockingQueue. Элементы извлекаются только при истечении задержки. Для использования необходимо реализовать метод
getDelay из интерфейса Delayed.
✔️ Допустим, мы хотим задержать элемент на 10 секунд. Нам просто нужно установить текущее время, увеличенное на 10 секунд для нашего класса DelayedEvent.
Java Learning 👩💻