ru
Feedback
Java Portal | Программирование

Java Portal | Программирование

Открыть в Telegram

Присоединяйтесь к нашему каналу и погрузитесь в мир для Java-разработчика Связь: @devmangx РКН: https://clck.ru/3H4WUg

Больше

📈 Аналитический обзор Telegram-канала Java Portal | Программирование

Канал Java Portal | Программирование (@java_iibrary) языкового сегмента Русский является активным участником. Сейчас сообщество объединяет 11 768 подписчиков, занимая 10 256 место в категории Технологии и приложения и 54 543 место в регионе Россия.

📊 Показатели аудитории и динамика

С момента создания невідомо проект демонстрирует стремительный рост, собрав аудиторию из 11 768 подписчиков.

Согласно последним данным от 29 августа, 2026, канал показывает стабильную активность. За последние 30 дней изменение числа участников составило -144, а за последние 24 часа — -1, при этом общий охват остаётся высоким.

  • Статус верификации: Не верифицирован
  • Уровень вовлечённости (ER): Средний показатель вовлечённости аудитории составляет 10.09%. В первые 24 часа после публикации контент обычно набирает 5.78% реакций от общего числа подписчиков.
  • Охват публикаций: В среднем каждый пост получает 1 188 просмотров. В течение первых суток публикация набирает 681 просмотров.
  • Реакции и взаимодействия: Аудитория активно поддерживает контент: среднее количество реакций на один пост — 4.
  • Тематические интересы: Контент сосредоточен на ключевых темах, таких как boot, string, void, архитектура, resttemplate.

📝 Описание и контентная политика

Автор описывает ресурс как площадку для выражения субъективного мнения:
Присоединяйтесь к нашему каналу и погрузитесь в мир для Java-разработчика Связь: @devmangx РКН: https://clck.ru/3H4WUg

Благодаря высокой частоте обновлений (последние данные получены 30 августа, 2026) канал поддерживает актуальность и высокий уровень охвата публикаций. Аналитика показывает, что аудитория активно взаимодействует с контентом, что делает его важной точкой влияния в категории Технологии и приложения.

11 768
Подписчики
-124 часа
-237 дней
-14430 день
Архив постов
Канал с курсами и книгами для айтишников Программирование 24/7 — настоящий портал для тех кто хочет стать айтишником. Там ест
Канал с курсами и книгами для айтишников Программирование 24/7 — настоящий портал для тех кто хочет стать айтишником. Там есть всё необходимое — топовые курсы и книги по всем языкам программирования(Frontend, Python, Java, C#, PHP и др.) Все бесплатно, доступно и удобно — @edprogramming

Начиная с JDK 12, появилась новая фича — java.text.CompactNumberFormat. Она позволяет компактно отображать большие числа Пример:
Locale.setDefault(Locale.US);
NumberFormat compact = NumberFormat.getCompactNumberInstance();

System.out.println(compact.format(1));
System.out.println(compact.format(999));
System.out.println(compact.format(2_000));
System.out.println(compact.format(55_555));
System.out.println(compact.format(3_777_999));
System.out.println(compact.format(Integer.MAX_VALUE));
Вывод:
1
999
2K
56K
4M
2B
Также доступен стиль LONG:
NumberFormat compact;
compact = NumberFormat.getCompactNumberInstance(Locale.US, Style.LONG);
Результат:
1
999
2 thousand
56 thousand
4 million
2 billion
Идеально для UI, отчетов и всего, где важна краткость 💖 👉 Java Portal

Курс по конкурентному программированию от Ильи Сергеева Если хочешь разобраться в параллельности, потоках, акторной модели и
Курс по конкурентному программированию от Ильи Сергеева Если хочешь разобраться в параллельности, потоках, акторной модели и распределёнке — лови топовый курс от препода Yale-NUS — Scala для конкурентного кода — Мьютексы, блокировки, атомики — Futures и async — Акторы и обмен сообщениями — Распределённый консенсус (в т.ч. BFT) Можешь поблагодарить лукасом 😍 👉 Java Portal

В Java лямбда-выражение создаёт экземпляр функционального интерфейса. Во время выполнения этот экземпляр создаётся с помощью класса LambdaMetaFactory Следующий код на Java создаёт объект Function<String, String>
Function<String, String> f = s -> s.toUpperCase();
Во время выполнения объект создаётся с помощью кода, аналогичного следующему:
@SuppressWarnings("unchecked")
void main() throws Throwable {
    MethodHandles.Lookup lookup;
    lookup = MethodHandles.lookup();

    CallSite callSite;
    callSite = LambdaMetafactory.metafactory(
        lookup,
        "apply",
        MethodType.methodType(Function.class),
        MethodType.methodType(Object.class, Object.class),
        lookup.findStatic(
            getClass(),
            "lambda",
            MethodType.methodType(String.class, String.class)
        ),
        MethodType.methodType(String.class, String.class)
    );

    MethodHandle target;
    target = callSite.getTarget();

    Function<String, String> f;
    f = (Function<String, String>) target.invokeExact();

    String msg;
    msg = f.apply("Hello, World!");

    IO.println(msg);
}

private static String lambda(String s) {
    return s.toUpperCase();
}
При выполнении этот код выведет в консоль HELLO, WORLD! ❤️ 👉 Java Portal

Имбовая библиотека цветов для Kotlin Multiplatform Если ты пилишь на Kotlin и хочешь красивые цвета под любую платформу — зацени compose-pipette Поддерживает: > JVM > Android (от API 21) > Kotlin/JS > Kotlin/WASM > macOS (пока не тестили) > iOS (тоже не тестили) Поддержи пост лайком ❤️ 👉 Java Portal

Все надоело и пропал интерес, чувствуешь себя амебой и хочется только залипать в телефоне. Бывает? Психолог взрослого человек
Все надоело и пропал интерес, чувствуешь себя амебой и хочется только залипать в телефоне. Бывает? Психолог взрослого человека — канал для айтишников, у которых периодически опускаются руки и отключается мозг, ибо переработки и постоянная тревожность не приводят к другим исходам. ✔️ Как научиться отвлекаться от работы и отдыхать? ✔️ Как совместить кучу рабочих задач и время с семьей? ✔️ Как справиться с прокрастинацией? ✔️ Как не растерять запал, даже если начальник и коллеги 💩 и кажется, что ничего не выходит? Подписывайтесь на канал @vadimpetrovpsi и научитесь работать без упахивания, выгорания и ущерба для личной жизни! 👨🏻‍💻 Псс. Заходите в закреп — там много полезного, и даже бесплатный мини-курс по выходу из апатии: https://t.me/+qYR5T3w5Yg41ZTQy

Strategy Pattern без занудства Ситуация: вы пишете платёжную систему У вас есть PaymentService, поддерживающий оплату кредитной картой. Вы пишете:
public void pay(String method) {
    if (method.equals("creditcard")) {
        // логика оплаты кредиткой
    }
}
Потом добавляют PayPal, UPI, крипту, Apple Pay, кошельки, NetBanking и тд.. 😢 Теперь ваш метод выглядит вот так:
if (method.equals("creditcard")) {
    // логика кредитки
} else if (method.equals("paypal")) {
    // логика PayPal
} else if ...
Вы тонете в аду if-else. Каждый раз при добавлении нового способа оплаты: > Вы трогаете старый код > Рискуете сломать существующую логику > Нельзя нормально протестировать стратегии > Нарушается принцип OCP (Open/Closed) В чём настоящая проблема? 1. Ваш код слишком жёстко связан с конкретными реализациями оплат 2. Добавление новых стратегий требует изменения существующего кода 3. Тестировать/переиспользовать отдельные стратегии — сложно 4. PaymentService теперь отвечает за слишком многое Как Strategy Pattern вас спасает 1. Создаёшь интерфейс PaymentStrategy 2. Для каждой оплаты — свой класс: CreditCardPayment, PayPalPayment, UPIPayment 3. PaymentService просто вызывает .pay() на нужной стратегии ☑ Добавить новый способ? Просто пишешь новый класс ☑ Никаких if-else ☑ Стратегии изолированы и легко тестируются
interface PaymentStrategy {
    void pay(int amount);
}

class CreditCardPayment implements PaymentStrategy {
    public void pay(int amount) {
        System.out.println("Плачу " + amount + " с помощью кредитки");
    }
}

class PayPalPayment implements PaymentStrategy {
    public void pay(int amount) {
        System.out.println("Плачу " + amount + " через PayPal");
    }
}
👉 Java Portal

Шпаргалка по Map-реализациям Если путаешься в HashMap, TreeMap, ConcurrentHashMap — лови таблицу сравнения > HashMap — быстра
Шпаргалка по Map-реализациям Если путаешься в HashMap, TreeMap, ConcurrentHashMap — лови таблицу сравнения > HashMap — быстрая, но не потокобезопасная. Подходит для общего использования > LinkedHashMap — сохраняет порядок вставки > TreeMap — сортирует по ключам. > Hashtable — потокобезопасна, но старая и медленная > ConcurrentHashMap — оптимальна для многопоточности > EnumMap — супербыстрая для enum-ключей > IdentityHashMap — использует == вместо .equals() > WeakHashMap — ключи могут быть удалены GC. Полезно для кэшей Не забывай про null-ключи, производительность, порядок —> всё это влияет на выбор структуры данных 💖 👉 Java Portal

Хочешь, чтобы Swagger UI был доступен без авторизации в Spring Boot? Просто добавь его в белый список: .antMatchers("/swagger
Хочешь, чтобы Swagger UI был доступен без авторизации в Spring Boot? Просто добавь его в белый список:
.antMatchers("/swagger-ui/", "/v3/api-docs/").permitAll()
Так разработчики смогут спокойно тестировать и изучать API без входа в систему 👉 Java Portal

Балансировка производительности и потокобезопасности 🔜 Читать: клик 👉 Java Portal | #cтатья
Балансировка производительности и потокобезопасности 🔜 Читать: клик 👉 Java Portal | #cтатья

Хотите получить строковое представление объекта так, как если бы методы toString и hashCode не были переопределены? Тогда мет
Хотите получить строковое представление объекта так, как если бы методы toString и hashCode не были переопределены? Тогда метод Objects::toIdentityString — это то, что вам нужно:
void main() {
    IO.println(this);
    IO.println(Objects.toIdentityString(this));
}

@Override
public String toString() {
    return "Hello, World!";
}
При выполнении на моей машине выводится:
Hello, World!
HelloWorld@275710fc
Метод был введён в JDK 19. Документация Javadoc не говорит много о возможных вариантах использования. В баге JDK-8280184 Стюарт Маркс пишет:
Это может быть полезно в логировании, например, когда нужно отслеживать операции, выполненные над каким-то конкретным объектом, например, перед сбоем. Идентичный хэшкод — полезный способ сделать это
👉 Java Portal

Дорожная карта Spring Boot для Java-разработчиков 💪💪💪 👉 Java Portal
Дорожная карта Spring Boot для Java-разработчиков 💪💪💪 👉 Java Portal

#вакансия Нужны программисты для долгосрочного оплачиваемого сотрудничества. Это достаточно простая подработка: написание кода, объяснение различных функций и написание авторских текстов. Требования:
Знания Java, не на базовом уровне. Опыт работы Figma Умение писать грамотные тексты с доступным объяснением на разные темы.
Если вам интересно и есть достаточно свободного времени, отпишите — @energy_it.

В Java можно столкнуться с ситуацией, когда поле final кажется имеющим два разных значения. Рассмотрим такой пример: void mai
В Java можно столкнуться с ситуацией, когда поле final кажется имеющим два разных значения. Рассмотрим такой пример:
void main() {
    var after = new Final(this::before);

    IO.println("After value=" + after.value);
}

private void before(Final before){
    IO.println("Before value=" + before.value);
}

class Final {
    final int value;

    Final(Consumer<? super Final> listener) {
        listener.accept(this);
        value = 123;
    }
}
Результат выполнения будет таким:
Before value=0  
After value=123
Это пример утечки this. JEP 401 называет это larval object leakage — ситуация, когда объект, ещё не до конца инициализированный, "просачивается" из конструктора и используется раньше времени. В JDK 24 в рамках JEP о гибких телах конструкторов (Flexible Constructor Bodies) эта проблема решается следующим образом:
Код в начале конструктора не должен использовать this, кроме как для инициализации полей, у которых нет своих инициализаторов.
Иначе говоря, в начальной части конструктора теперь нельзя "утечь" наружу с this, пока объект не готов 👉 Java Portal

Pattern Matching в switch — Java 🔜 Читать: клик 👉 Java Portal | #cтатья
Pattern Matching в switch — Java 🔜 Читать: клик 👉 Java Portal | #cтатья

⚡️ Дождались! Ребята сделали крутейшие каналы про Айти Здесь сложные темы объясняют на простых картинках, понятном языке. А т
+4
⚡️ Дождались! Ребята сделали крутейшие каналы про Айти Здесь сложные темы объясняют на простых картинках, понятном языке. А также решаем задачки, делимся ресурсами и советами. 📱 Python | Программирование ⚙️ Webdev | Backend & Frontend 😷 Hacking | Кибербезопасность 🖥 Memes | Мемы айтишников 🖥 CodHub | Курсы IT

В Java тело лямбды прозрачно для this. Например, следующий код выведет Hello, World!: private Runnable runnable = () -> { Sys
В Java тело лямбды прозрачно для this. Например, следующий код выведет Hello, World!:
private Runnable runnable = () -> {
    System.out.println(this);
};

@Override
public String toString() {
    return "Hello, World!";
}

void main() {
    runnable.run();
}
А если заменить лямбду на анонимный класс, результат будет вроде InnerClassThis$1@568bf312:
private Runnable runnable = new Runnable() {
    @Override public void run() {
        System.out.println(this);
    }
};

@Override
public String toString() {
    return "Hello, World!";
}

void main(String[] args) {
    runnable.run();
}
То есть у лямбды нет собственного this — она использует this из внешнего контекста. Это чётко описано в спецификации Java:
Значение this в теле лямбды — то же самое, что и this во внешнем контексте.
Если хочешь разобраться глубже, смотри официальный гайд 👉 Java Portal

Как синхронизировать двунаправленные ассоциации сущностей с помощью JPA и Hibernate 🔜 Читать: клик 👉 Java Portal | #cтатья
Как синхронизировать двунаправленные ассоциации сущностей с помощью JPA и Hibernate 🔜 Читать: клик 👉 Java Portal | #cтатья

Программисты из Telegram создали сильнейшие IT- каналы 🐍 Ghostly Python - автоматизируй всё, что можешь. Боты, скрипты, парс
Программисты из Telegram создали сильнейшие IT- каналы 🐍 Ghostly Python - автоматизируй всё, что можешь. Боты, скрипты, парсеры, утилиты - делаем Python простым и полезным. Уверенный старт для новичков и не только. ☕️ Easy Java - Java без боли. От основ до фреймворков. Просто, понятно и по делу. Если хочешь реально понять язык - тебе сюда. 😎 IT Syndicate - главный хаб для тех, кто живёт IT. GameDev, InfoSec, Frontend, DevOps, AI и многое другое. Готовь мозг, тут будет жарко. 📱 Ghostly Frontend - фронтенд без лишнего шума. HTML, CSS, JavaScript, React, Vue — всё, что нужно, чтобы создавать быстрые и красивые интерфейсы.

Аннотации @OneToMany и @ManyToOne помогают определить связи между сущностями в базе данных Пример: Пользователь может иметь м
Аннотации @OneToMany и @ManyToOne помогают определить связи между сущностями в базе данных Пример: Пользователь может иметь много заказов →
@OneToMany(mappedBy = "user")
private List<Order> orders;
Каждый заказ принадлежит одному пользователю →
@ManyToOne
@JoinColumn(name = "user_id")
private User user;
👉 Java Portal