Java Dev
история за 7 днейобновляется раз в неделюВсе про Java и не только
Прирост подписчиков
- За 24 ч
- —нет замера 24 ч назад
- За 7 дн
- —нет замера 7 дней назад
- За 30 дн
- —нет замера 30 дней назад
К замеру 27.10.2026 · 00:57 МСК. Страницы канала замеряются в среднем раз в 2 дня.
Вовлечённость
- ERR 24 ч
- —нет просмотров на возрасте суток
- ERR 48 ч
- —нет постов за 7 дн
- ERR 30 дн
- >100%по последним замерам, 7 постов
- ER (реакции)
- 0,0%по 7 постам за 30 дн
ERR — средний охват поста к подписчикам, ER — реакции к просмотрам.
Средний охват поста
- 24 ч
- —нет просмотров на возрасте суток
- 48 ч
- —нет постов за 7 дн
- 72 ч
- —нет постов за 7 дн
- 7 дн
- —мало постов с просмотрами: 1
- 30 дн
- 18по последним замерам, 7 постов
Охваты 48 и 72 ч посчитаны 27.10.2026 · 00:57 МСК, без репостов.
Упоминания и активность
- Упоминаний за 24 ч
- 0
- За 7 дн
- 0
- За 30 дн
- 0
- ИЦ
- 00 источников за 90 дн
- Постов в день
- 0,2за 30 дн
- Реклама с erid
- 0постов за 30 дн
Упоминания и ИЦ на 27.10.2026 · 00:57 МСК.
Покупал рекламу в…
30 дней · обнаруженные размещения
Размещений не найдено
Это не означает, что рекламы не было.
Включая размещения без erid. Оплата не подтверждена. Как определяем
Продавал рекламу…
30 дней · обнаруженные размещения
Размещений не найдено
Это не означает, что рекламы не было.
Включая размещения без erid. Оплата не подтверждена. Как определяем
Динамика и события
Маркеры: «@» — упоминание в другом канале, «Р» — рекламный пост с erid
Последние посты
- фото
Garbage Collector в Java — кто удаляет ненужные объекты? В Java не нужно вручную освобождать память после создания объектов. Этим занимается Garbage Collector (GC) — сборщик мусора. Когда объект больше не доступен из работающего приложения через цепочки ссылок от GC Roots, он становится кандидатом на удаление. Сборщик мусора может освободить занятую им память. Пример: public class Main { public static void main(String[] args) { String user = new String("Alex"); user = null; System.gc(); } } Что здесь происходит? 1. Создаётся объект `String`. 2. Переменн…
Открыть в MAX- Просмотры
- 7
- ER
- —
- Реакции
- —
- фото
HashMap в Java — как хранить данные по ключу? HashMap — одна из самых популярных коллекций в Java. Она хранит данные в формате ключ → значение и позволяет быстро находить элементы по ключу. Например, сохраним имена пользователей по их ID: Map<Integer, String> users = new HashMap<>(); users.put(1, "Alex"); users.put(2, "Maria"); users.put(3, "Ivan"); System.out.println(users.get(2)); Результат: Maria Основные методы: - put(key, value) — добавить или заменить значение. - get(key) — получить значение по ключу. - remove(key) — удалить элемент. - containsKey(key) — проверить наличие ключа. -…
Открыть в MAX- Просмотры
- 16
- ER
- —
- Реакции
- —
Задача ============ String a = "Java"; String b = new String("Java"); System.out.println(a == b); System.out.println(a.equals(b)); ============ Что выведет код?
Открыть в MAX- Просмотры
- 22
- ER
- —
- Реакции
- —
- фото
Stream API — как работать с коллекциями декларативно? Stream API появился в Java 8 и позволяет обрабатывать коллекции в виде последовательности операций, не изменяя исходную коллекцию. Например, есть список пользователей: List<User> users = getUsers(); List<String> names = users.stream() .filter(User::isActive) .map(User::getName) .sorted() .toList(); Здесь происходит несколько операций: filter() — оставляет только активных пользователей. map() — преобразует User в String. sorted() — сортирует результат. toList() — собирает элементы в список. Важная особенность Stream API…
Открыть в MAX- Просмотры
- 16
- ER
- —
- Реакции
- —
- Просмотры
- 24
- ER
- —
- Реакции
- —
- фото
CompletableFuture — как выполнять задачи асинхронно в Java? Если Thread позволяет запустить код в отдельном потоке, то CompletableFuture позволяет удобно строить цепочки асинхронных операций. Например: CompletableFuture .supplyAsync(() -> getUser()) .thenApply(user -> user.getName()) .thenAccept(System.out::println); Здесь сначала асинхронно получаем пользователя, затем преобразуем результат и передаём его следующему обработчику. Можно обрабатывать ошибки: CompletableFuture .supplyAsync(() -> getUser()) .thenApply(User::getName) .exceptionally(ex -> "Unknown"); Мож…
Открыть в MAX- Просмотры
- 15
- ER
- —
- Реакции
- —
- фото
Virtual Threads — почему они изменили многопоточность в Java? В Java 21 Virtual Threads стали стандартной возможностью. Их главная идея — позволить создавать огромное количество лёгких потоков без необходимости вручную управлять небольшим пулом обычных `Thread`. Создать виртуальный поток можно очень просто: Thread.startVirtualThread(() -> { System.out.println("Hello from virtual thread"); }); Или через ExecutorService: try (var executor = Executors.newVirtualThreadPerTaskExecutor()) { executor.submit(() -> { // HTTP-запрос или другая задача }); } Обычный поток ОС (pla…
Открыть в MAX- Просмотры
- 25
- ER
- —
- Реакции
- —
- фото
Java 8 → 27: что нового в каждой версии? Java активно развивается. Давайте кратко разберём, какие ключевые изменения появились в каждой версии начиная с Java 8. Java 8 (2014) • Лямбда-выражения и функциональные интерфейсы. • Stream API. • Optional. • Default-методы в интерфейсах. • Новое API для работы с датами — java.time. Java 9 (2017) • Модульная система Java Platform Module System. • JShell — интерактивная консоль Java. • Фабричные методы коллекций: List.of(), Set.of(), Map.of(). Java 10 (2018) • Локальный вывод типов — var. • Улучшения сборки мусора. • Улучшения JIT-компилятора. Java…
Открыть в MAX- Просмотры
- 34
- ER
- —
- Реакции
- —
- фото
AtomicInteger vs volatile — в чём разница? В предыдущем посте мы разобрали synchronized и AtomicInteger. Давайте разберёмся, чем AtomicInteger отличается от volatile. volatile гарантирует, что изменения переменной будут видны другим потокам. Например: volatile boolean running = true; Если один поток изменит running на false, другие потоки увидят это изменение. Но volatile не гарантирует атомарность операций. volatile int counter = 0; counter++; Операция counter++ состоит из чтения, увеличения и записи. Несколько потоков могут одновременно изменить значение и потерять часть обновлений.…
Открыть в MAX- Просмотры
- 22
- ER
- —
- Реакции
- —
Многопоточность в Java — зачем нужен synchronized? Когда несколько потоков работают с одними и теми же данными, могут возникнуть проблемы. Например: int counter = 0; void increment() { counter++; } Если этот метод одновременно вызовут несколько потоков, результат может оказаться меньше ожидаемого. Причина в том, что counter++ — это не одна операция. Упрощённо это: 1. Прочитать значение counter 2. Увеличить его 3. Записать новое значение Два потока могут одновременно прочитать одно и то же значение и потерять одно из изменений. Для защиты критической секции используется synchronized…
Открыть в MAX- Просмотры
- 25
- ER
- —
- Реакции
- —
Показано 10
Данные: публичные посты и страницы канала в MAX. Метрики версии v1, пересчитаны 27.10.2026, подписчики замерены 27.10.2026. Как мы считаем.