Библиотека Java разработчика
📚 Лайфхаки, приёмы и лучшие практики для Java-разработчиков. Всё, что ускорит код и прокачает навыки. Java, Spring, Maven, Hibernate. По всем вопросам @evgenycarter РКН clck.ru/3KoGeP
Show more📈 Analytical overview of Telegram channel Библиотека Java разработчика
Channel Библиотека Java разработчика (@bookjava) in the Russian language segment is an active participant. Currently, the community unites 10 268 subscribers, ranking 12 023 in the Technologies & Applications category and 63 951 in the Russia region.
📊 Audience metrics and dynamics
Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 10 268 subscribers.
According to the latest data from 09 June, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by 16 over the last 30 days and by -6 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 8.19%. Within the first 24 hours after publication, content typically collects 4.03% reactions from the total number of subscribers.
- Post reach: On average, each post receives 841 views. Within the first day, a publication typically gains 414 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 6.
- Thematic interests: Content is focused on key topics such as string, интерфейс, строка, boot, api.
📝 Description and content policy
The author describes the resource as a platform for expressing subjective opinions:
“📚 Лайфхаки, приёмы и лучшие практики для Java-разработчиков. Всё, что ускорит код и прокачает навыки. Java, Spring, Maven, Hibernate.
По всем вопросам @evgenycarter
РКН clck.ru/3KoGeP”
Thanks to the high frequency of updates (latest data received on 10 June, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.
previous(), hasPrevious(), add(), set().
— ListIterator позволяет получить индекс текущего элемента.
— ListIterator может начать итерацию с произвольного индекса списка, а Iterator только с начала.
— ListIterator можно получить только из объектов, реализующих List, а Iterator из любой коллекции.
— ListIterator является более функциональным и позволяет вносить изменения в список во время итерации, Iterator — только читать.
— Итераторы безопасны для использования в многопоточных приложениях, а ListIterator — нет.
👉@BookJavaРеклама. ООО «Отус онлайн-образование», ОГРН 1177746618576Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ruAware служит родителем большому количеству интерфейсов с именами *Aware. Каждый из них, при реализации, доставляет бину какую-то специфичную для себя сущность. Так, например, компонент, которому нужно обратиться к контексту приложения, должен реализовывать ApplicationContextAware.
Технически, сами интерфейсы ничего не делают. Интерфейс FooAware обычно объявляет единственный метод void setFoo(Foo value). Через этот метод связанный с интерфейсом BeanPostProcessor передаст в бин нужную сущность.
Если бин реализует ServletContextAware, то в процессе инициализации бина к нему придет ServletContextAwareProcessor, и вызовет setServletContext с контекстом сервлета в качестве параметра.
👉@BookJavaРеклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ruDataSize, который может помочь вам с преобразованием между единицами размера от байтов до терабайтов. Сумма должна быть типа long. Дробные числа не поддерживаются.
https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/util/unit/DataSize.html
👉@BookJavaArrayList. В основе реализации коллекции лежит такой же массив, поэтому эффективность будет той же самой. Однако, вам придется самостоятельно реализовывать логику управления хранилищем: например, увеличение массива при переполнении. А значит, будет больше шансов на ошибку.
Если использовать массивы вместо коллекций для примитивов, можно получить выигрыш по эффективности. Коллекции – generic-типы, из-за этого простые значения хранятся в них в форме ссылочных типов-оберток.
1. Autoboxing выделяет память под новый объект, это дорогая операция;
2. Кроме данных, Object занимает дополнительную память под метаинформацию;
3. Ячейки массива лежат близко в оперативной памяти, это увеличивает шансы попадания в кэш процессора.
С другой стороны, для массива всё так же нужно написать больше кода, он сложнее. Поэтому замена листов на массивы обычно считается излишней микрооптимизацией.
Когда сэкономить всё-таки хочется, стоит выбрать одну из множества готовых библиотек не-generic реализаций коллекций. Списки примитивов можно найти в Eclipse Collections. В Android есть HashMap с целочисленными ключами – SparseArray.
👉@BookJava@RequestMapping.
Ответ на запрос можно сформировать разными способами: например просто вернуть из обработчика строку с именем jsp-файла, или же вернуть ResponseBodyEmitter, который будет асинхронно заполняться данными позже. Все возможные варианты перечислены в документации.
Большинство современных API реализуется по архитектуре REST. В ней каждая сущность доступна под собственным URI. В методе-обработчике возвращается экземпляр класса этой сущности, который преобразуется в ответ сервера одним из HttpMessageConverter-ов. Например, в JSON его превратит MappingJackson2HttpMessageConverter. Чтобы использовать этот способ ответа, метод, или весь контроллер, должен иметь аннотацию @ResponseBody.
@RestController – это просто сокращенная запись для @Controller + @ResponseBody.
👉@BookJavaРеклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Available now! Telegram Research 2025 — the year's key insights 
