Java Библиотека | Мы в Телеграм
Java библиотека
Книги, статьи, мемы и многое другое для Java программиста!
По сотрудничеству и рекламе: https://t.me/NadikaKir или в ЛС сообщества ВК https://vk.com/javatutorial
Канал в перечне РКН: https://vk.cc/cJrT4A
Мы на бирже: https://telega.in/c/javalib/
Сообщество VK https://vk.com/javatutorial
- Каналов в рубрике
- 1 753
- Место этого канала
- № 65
Дашборд
18 октября — 24 октября 2026
Загрузка…
Главные числа
Рост аудитории
+4подписчиков за период
+2 самый большой прирост · 21 окт 2026 −1 самая большая убыль · 23 окт 2026
Индекс качества
68/ 100Средний
- Аудитория 10 из 25
- Честность роста 25 из 25
- Рекламная нагрузка 20 из 20
- Доверие 5 из 20
- Достоверность расчёта 8 из 10
IT и программирование, 1–5 тыс. подписчиков · каналов в группе: 37
Просмотры и охват
8 094просмотров за период 7,1 %
Средний охват поста — 313 просмотров (посты старше двух суток).
Вовлечённость подписчиков
0,36 %ER = реакции ÷ просмотры 0,1 п. п.
Индекс цитируемости
0,1индекс цитируемости
Место среди похожих — выше, чем у 32 %. До уровня «высокий» нужно обойти ещё 18 каналов.
32 509-е место в MAX · Подробнее — вкладка «Упоминания»
Когда и сколько публикует
Форматы публикаций
Каждый пост — точка
Выше — больше просмотров, крупнее — больше реакций. Нажмите на точку, чтобы открыть пост.
Итоги периода
Нажмите на показатель — ниже он появится по точкам периода
Реклама в канале
Лучшие публикации
По просмотрам за период
Публикации по дням
Бледные столбики — дни, линия — среднее за 7 дней: видно, разгоняется канал или затихает
Данные обновлены в 23:26 по Москве. Просмотры — текущие у постов, вышедших в эти дни; средний охват — по постам старше двух суток. Как считается индекс качества
Публикации за период
Загрузка…
Java Библиотека | Мы в Телеграм
long size = List.of("A", "B").stream()
.peek(System.out::println)
.count();
Печать здесь не гарантирована. Замена peek() на map(), возвращающий тот же элемент, не создаёт такой гарантии. Если действие обязательно для каждого элемента, вынесите его в обычный цикл или выберите подходящую терминальную операцию. Для последовательного обхода с понятным управлением ошибками цикл часто проще. peek удобно использовать для диагностики потока, но бизнес-операции не должны зависеть от его побочных эффектов. #Java
Java Библиотека | Мы в Телеграм
Java Библиотека | Мы в Телеграм
String[] parts = "app.log".split("\\.");
// [app, log]
Если разделитель приходит из переменной, используйте Pattern.quote:
String[] parts = line.split(Pattern.quote(separator), -1);
Отрицательный limit сохраняет пустые поля справа: у "a,b," их три, последнее — пустая строка. Без limit завершающие пустые элементы удаляются. Такой split подходит для простого текстового формата. Полноценный CSV с кавычками и запятыми внутри значений требует парсера CSV. #Java
Java Библиотека | Мы в Телеграм
var left = Set.of(1, 2, 3, 4);
var right = Set.of(3, 4, 5);
var intersection = new HashSet<>(left);
intersection.retainAll(right);
System.out.println(intersection); // элементы 3 и 4
Порядок вывода HashSet не гарантирован. Вызов retainAll на неизменяемом множестве вроде Set.of(...) завершится UnsupportedOperationException. Возвращаемый boolean сообщает, изменилась ли коллекция, а не является ли пересечение непустым. #Java
Java Библиотека | Мы в Телеграм
Objects.requireNonNull(user, "user");
Objects.requireNonNull(user.getName(), "user.name");
Для сравнения двух nullable-значений используйте Objects.equals(a, b). Вызов "ready".equals(value) тоже безопасен для nullable value. String.valueOf(obj) для null-ссылки типа Object вернёт строку "null". Это удобно при диагностике, но не исправляет отсутствующие бизнес-данные. Optional может выразить отсутствие результата. @Nullable и @NotNull полезны анализаторам и фреймворкам, однако сами по себе не заставляют JVM проверять каждый вызов. Если метод возвращает коллекцию, обычно проще вернуть пустую коллекцию. #Java
Java Библиотека | Мы в Телеграм
Java Библиотека | Мы в Телеграм
Java Библиотека | Мы в Телеграм
Java Библиотека | Мы в Телеграм
<Configuration>
<Appenders>
<Console name="out" target="SYSTEM_OUT">
<PatternLayout pattern="%level %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="info">
<AppenderRef ref="out"/>
</Root>
</Loggers>
</Configuration>
Для ротации файлов в Log4j 2 используйте RollingFile с политикой ротации. Примеры с DailyRollingFileAppender из Log4j 1 нельзя переносить в конфигурацию Log4j 2 без изменений. #Java
Java Библиотека | Мы в Телеграм
Загрузка…
Загрузка…
Загрузка…
Загрузка…
Загрузка…
Загрузка…
Загрузка…
Загрузка…