Библиотека Java разработчика
前往频道在 Telegram
📚 Лайфхаки, приёмы и лучшие практики для Java-разработчиков. Всё, что ускорит код и прокачает навыки. Java, Spring, Maven, Hibernate. По всем вопросам @evgenycarter РКН clck.ru/3KoGeP
显示更多📈 Telegram 频道 Библиотека Java разработчика 的分析概览
频道 Библиотека Java разработчика (@bookjava) 俄语 语言赛道中的 是活跃参与者。目前社区聚集了 10 262 名订阅者,在 技术与应用 类别中位列第 12 018,并在 俄罗斯 地区排名第 63 908 位。
📊 受众指标与增长动态
自 невідомо 创建以来,项目保持高速增长,吸引了 10 262 名订阅者。
根据 11 六月, 2026 的最新数据,频道保持稳定运转。过去 30 天订阅人数变化为 6,过去 24 小时变化为 -3,整体触达仍然可观。
- 认证状态: 未认证
- 互动率 (ER): 平均受众互动率为 8.44%。内容发布后 24 小时内通常能获得 4.24% 的反应,占订阅者总量。
- 帖子覆盖: 每篇帖子平均可获得 866 次浏览,首日通常累积 435 次浏览。
- 互动与反馈: 受众积极参与,单帖平均反应数为 6。
- 主题关注点: 内容集中在 string, интерфейс, строка, boot, api 等核心主题上。
📝 描述与内容策略
作者将该频道定位为表达主观观点的平台:
“📚 Лайфхаки, приёмы и лучшие практики для Java-разработчиков. Всё, что ускорит код и прокачает навыки. Java, Spring, Maven, Hibernate.
По всем вопросам @evgenycarter
РКН clck.ru/3KoGeP”
凭借高频更新(最新数据采集于 12 六月, 2026),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。
10 262
订阅者
-324 小时
-197 天
+630 天
帖子存档
Что такое литералы?
Литералы — это явно заданные значения в коде программы — константы определенного типа, которые находятся в коде в момент запуска.
class Test {
int a = 0b1101010110;
public static void main(String[] args) {
System.out.println("Hello world!");
}
}
В этом классе “Hello world!” — литерал.
Переменная a - тоже литерал.
Литералы бывают разных типов, которые определяются их назначением и способом написания.
👉@BookJavaJava spring exception handling | обработка исключений за 5 минут
В этом видео речь пойдет об обработке исключений на уровне контроллера на языке Java. Покажу, какие инструменты есть у Spring.
00:23 - try catch, ResponseEntity
00:47 - наследование ResponseStatusException
01:10 - настройки отображения сообщения, названия ошибки и стек трейс в ответе
01:47 - бросаем ResponseStatusException
02:04 - аннотация @ ExceptionHandler
03:05 - аннотация @ RestControllerAdvice
03:40 - кастомный объект вместо ResponseEntity
04:02 - аннотация @ ResponseStatus
Код можно посмотреть тут: https://github.com/dispikerton/exceptionHandling
источник
👉@BookJava
Fastjson - это библиотека Java, которую можно использовать для преобразования Java-объектов в их JSON-представление. Она также может быть использована для преобразования строки JSON в эквивалентный объект Java. Fastjson может работать с произвольными Java-объектами, включая уже существующие объекты, исходный код которых у вас отсутствует.
https://github.com/alibaba/fastjson
👉@BookJava
Тинькофф бросает вызов бэкенд-разработчикам!
15 апреля стартует IT's Tinkoff Solution Cup — соревнование для мидлов и сеньоров. Будут сложные задачи и призы победителям.
Регистрируйтесь, проходите отборочный тур и побеждайте в финале 22 апреля. Детали тут: https://l.tinkoff.ru/cup-solution
Вышла Java 20
Вышла общедоступная версия Java 20. В этот релиз попало около 1500 закрытых задач и 7 JEP'ов. Release Notes можно посмотреть здесь. Изменения API – здесь.
Ссылки на скачивание:
Oracle JDK
OpenJDK
👉@BookJava
Использование баз данных с Java (JDBC, Spring, Hibernate, MySQL, Derby, MS Access)
https://github.com/tsnsoft?q=jdbc
https://github.com/tsnsoft?q=hibernate
https://github.com/tsnsoft?q=spring
источник
👉@BookJava
💡 Как применять Java Persistence API?
28 марта в 20:00 мск узнаем на открытом уроке онлайн-курса «Java Developer. Professional».
🎬 На вебинаре «Введение в Java Persistence API на примере Hibernate» мы разберем:
— Что такое спецификация Java Persistence API
— Зачем и где она применяется
— Как начать работать с JPA на примере Hibernate
📌Урок рассчитан на программистов с опытом от 1 года.
После вебинара еще больше технологий и инструментов Java-разработки ждет вас курсе, доступном в рассрочку.
➡️ Пройдите вступительный тест, чтобы зарегистрироваться на занятие: https://otus.pw/5U2M/
Реклама. Информация о рекламодателе на сайте otus.ruПолное руководство по switch в Java
Старый добрый switch был в Java с первого дня. Мы все используем его и привыкли к нему — особенно к его причудам (кого‑нибудь еще раздражает break?). Но начиная с Java 12, ситуация начала меняться: switch вместо оператора стал выражением:
boolean result = switch(ternaryBool) {
case TRUE -> true;
case FALSE -> false;
case FILE_NOT_FOUND -> throw new UncheckedIOException(
"This is ridiculous!",
new FileNotFoundException());
default -> throw new IllegalArgumentException("Seriously?!");
}
https://habr.com/ru/post/724186/
👉@BookJavaJava. Шифруем данные для открытой передачи
Шифруем текст с использованием ключа данные для открытой передачи в GET для разных ситуаций. Не использовал secure библиотеки - по каким-то известным только мне тогдашнему причинам.
Если не охота заморачиватья с шифрованием - из комментария подписчика @Александр Плохой: Cipher.getInstance("AES").init(ENCRYPT_MODE, key);
(опять не прицепились маркеры - дублирую в описани)
00:00 Вступление и обоснования
02:00 Личный опыт
04:00 Spring
08:00 Библиотека символов
12:00 Encrypt
18:00 Decrypt
19:00 Test
23:00 Разбор на пальцах
Source: https://github.com/azim-ut/encrypt
источник
👉@BookJava
☘️ Пройди тест по Spring !
Проверь себя и свои знания. Сможешь сдать — пройдёшь на продвинутый курс "Разработчик на Spring Framework" от OTUS по специальной цене.
Что даст тебе курс:
В процессе обучения, преподаватели и наставники курса помогут приобрести актуальные знания и навыки работы с фреймворком.
❌📊За 5 месяцев вы освоите полный цикл разработки приложений с Spring, пройдете путь от идеи до production-ready приложений, а к осеннему сезону найма уже сможете показывать решенные задания и проекты работодателям!
🎫Курс можно приобрести в рассрочку
👉 ПРОЙТИ ТЕСТ: https://otus.pw/rTFJ/
Реклама. Информация о рекламодателе на сайте otus.ruДля чего используются ключевые слова volatile, synchronized, transient, native?
volatile вынуждает потоки отключить оптимизацию доступа и использовать единственный экземпляр переменной. Если переменная примитивного типа – этого будет достаточно для обеспечения потокобезопасности. Если же переменная является ссылкой на объект – синхронизировано будет исключительно значение этой ссылки. Все данные, содержащиеся в объекте, синхронизированы не будут!
synchronized — это зарезервированное слово позволяет добиваться синхронизации в помеченных им методах или блоках кода.
Ключевые слова transient и native к многопоточности никакого отношения не имеют, первое используется для указания полей класса, которые не нужно сериализовать, а второе сигнализирует о том, что метод реализован в платформо-зависимом коде.
👉@BookJavaSearch Algorithms in Java
https://stackabuse.com/search-algorithms-in-java/#javacollectionsapi
👉@BookJava
Kickstart Your Spring Boot Application Development
https://www.docker.com/blog/kickstart-your-spring-boot-application-development/
👉@BookJava
Заваривайте чашку кофе и встречайте JPoint — крупнейшее событие в России, посвященное Java-разработке.
В программе технические доклады от спикеров из топовых компаний, личный опыт, боль и много кода. Работа с БД на примере Spring Boot-придолжений, устройство и работа Consumer, Java для мобильных приложений, тайны паттерна DTO — и это только малая часть программы.
Кроме технической конкретики, которой немало, будут и более «софт-скилльные» доклады. Например, Дмитрий Иванов и Андрей Кулешов из Huawei расскажут про пирамиду потребностей Маслоу для Java/Kotlin-разработчика. А для самых любознательных организаторы подготовили кейноуты Натальи Зубаревич и Станислава Дробышевского.
JPoint — это возможность пообщаться с коллегами из разных компаний, познакомится с ветеранами Спринга, увидеть новые лица Java-мира и просто хорошо провести время.
Если билет вам покупает работодатель, то пришлите ему эту ссылку.
Если идете за свой счет, то ищите билеты здесь. По промокоду BOOKJAVA они будут еще дешевле.
Что такое Optional?
Опциональное значение Optional — это контейнер для объекта, который может содержать или не содержать значение
null. Такая обёртка является удобным средством предотвращения NullPointerException, т.к. имеет некоторые функции высшего порядка, избавляющие от добавления повторяющихся if null/notNull проверок:
Optional<String> optional = Optional.of("hello");
optional.isPresent(); // true
optional.ifPresent(s -> System.out.println(s.length())); // 5
optional.get(); // "hello"
optional.orElse("ops..."); // "hello"
👉@BookJava🦾 Работаешь с Java? - Погрузись во все тонкости профессиональной разработки!
Пройди тест из 20 вопросов и проверь свои знания. Сможешь сдать — пройдёшь на продвинутый курс "Java Developer. Professional" от OTUS по специальной цене.
👩💻Преимущества программы курса:
За 6 месяцев вы узнает, как создавать современные приложений на Java, поймете основы функционирования JVM, освоите приемы применения многопоточности и научитесь решать задачи уровня Middle+.
Занятия в формате живых вебинаров проводят преподаватели-практики, а после дают развернутый фидбэк на домашние задания.
В конце обучения вы напишете выпускной проект на любую тему под контролем преподавателя и после обучения сможете претендовать на зарплату от 200 тыс. рублей.
🎫Возможна оплата курса в рассрочку
Для того чтобы проверить твой уровень знаний по Java, и подходит ли тебе курс, необходимо пройти тест.
👉 ПРОЙТИ ТЕСТ: https://otus.pw/VlGLx/
Реклама. Информация о рекламодателе на сайте otus.ruРисуем звук. Почувствуй себя нейросетью. Java, Guice
Сегодня java, guice и другие - помогут нам записать звук в представление чуть более непонятное чем эквалайзер (по крайней мере для меня). Вы при желании можете записать что-то другое.
00:00 Demo
01:34 Under the hood
02:44 Quickstart Archetype
04:28 BytesFetcher interface
05:32 AudioBytesFetcher
15:00 ImageDrawService
27:44 Guice module
28:51 App
34:40 Start
35:36 Success
36:23 Result
GitHub
источник
👉@BookJava
Почему не рекомендуется использовать метод Thread.stop()?
При принудительной остановке (приостановке) потока,
stop() прерывает поток в недетерменированном месте выполнения, в результате становится совершенно непонятно, что делать с принадлежащими ему ресурсами. Поток может открыть сетевое соединение - что в таком случае делать с данными, которые еще не вычитаны? Где гарантия, что после дальнейшего запуска потока (в случае приостановки) он сможет их дочитать? Если поток блокировал разделяемый ресурс, то как снять эту блокировку и не переведёт ли принудительное снятие к нарушению консистентности системы? То же самое можно расширить и на случай соединения с базой данных: если поток остановят посередине транзакции, то кто ее будет закрывать? Кто и как будет разблокировать ресурсы?
👉@BookJavaКак из Java приложения запустить другую программу?
Самый простой и базовый способ – с помощью метода
Runtime.getRuntime().exec(). В качестве параметра ему передается строка системной команды. Опциональные можно передать рабочую директорию, и переменные окружения в виде массива строк "имя=значение". Если команде нужны аргументы, они передаются либо массивом, либо в той же строке команды через пробелы.
Рекомендуемый, и более управляемый способ – использование класса ProcessBuilder. Он же применяется внутри метода exec. Билдер дает, например, средства для использования в команде пайплайнов и редиректов ввода-вывода.
В результате запуска команды создается объект класса Process. Его можно сконвертировать в более современный (Java 9+) и функциональный ProcessHandle. Через эти объекты идет работа с вводом-выводом процесса, его характеристиками и статусом.
Команда запускается в отдельном подпроцессе операционной системы. Это значит, что лозунг «Write once, run anywhere» перестает здесь работать – ваша программа становится платформо-зависимой. Обращение к ОС, а тем более выделение нового процесса обычно занимает немало ресурсов компьютера. Запуск внешних программ не считается плохой практикой, но всё-таки при возможности стоит его избегать.
👉@BookJava
现已上线!2025 年 Telegram 研究 — 年度关键洞察 
