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

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

Kanalga Telegram’da o‘tish

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

Ko'proq ko'rsatish

📈 Telegram kanali Java Portal | Программирование analitikasi

Java Portal | Программирование (@java_iibrary) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 11 768 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 10 256-o'rinni va Rossiya mintaqasida 54 543-o'rinni egallagan.

📊 Auditoriya ko‘rsatkichlari va dinamika

невідомо sanasidan buyon loyiha tez o‘sib, 11 768 obunachiga ega bo‘ldi.

29 Avgust, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni -144 ga, so‘nggi 24 soatda esa -1 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.

  • Tasdiqlash holati: Tasdiqlanmagan
  • Jalb etish (ER): Auditoriya o‘rtacha 10.09% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 5.78% ini tashkil etuvchi reaksiyalarni to‘playdi.
  • Post qamrovi: Har bir post o‘rtacha 1 188 marta ko‘riladi; birinchi sutkada odatda 681 ta ko‘rish yig‘iladi.
  • Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 4 ta reaksiya keladi.
  • Tematik yo‘nalishlar: Kontent boot, string, void, архитектура, resttemplate kabi asosiy mavzularga jamlangan.

📝 Tavsif va kontent siyosati

Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
Присоединяйтесь к нашему каналу и погрузитесь в мир для Java-разработчика Связь: @devmangx РКН: https://clck.ru/3H4WUg

Yuqori yangilanish chastotasi (oxirgi ma’lumot 30 Avgust, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.

11 768
Obunachilar
-124 soatlar
-237 kunlar
-14430 kunlar
Postlar arxiv
Канал с курсами и книгами для айтишников Программирование 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