ar
Feedback

لا تقع ضحية للمخادعين! تيليمتريو يكتشف ويُميّز هذه القنوات 👉 إذا كنت تريد رؤية العلامة، اشترك

Easy Java

Easy Java

الذهاب إلى القناة على Telegram

Лучшие обучающие материалы и другие полезности для Java-разработчиков. Сотрудничество: @heywan_n1 Цены: @heywan_media Реклама на бирже: https://telega.in/c/+r8kkGSypBY84MmIy

إظهار المزيد
4 939
المشتركون
-124 ساعات
-157 أيام
-1730 أيام
أرشيف المشاركات
❓ Вопрос с собеса В каком порядке вызываются конструкторы при наследовании в Java? Пример🔽
class Parent {
    Parent() {
        System.out.println("Конструктор родителя");
    }
}

class Child extends Parent {
    Child() {
        System.out.println("Конструктор потомка");
    }
}

public class Main {
    public static void main(String[] args) {
        new Child();
    }
}
Ответ🔽
При создании объекта дочернего класса сначала вызывается конструктор родителя, а затем — конструкция потомка. Это гарантирует, что базовая часть объекта будет инициализирована до расширений. 📌 Даже если в конструкторе дочернего класса нет явного вызова super(), он вставляется компилятором автоматически
➡️ Easy Java | #Собес

➡️ Easy Java | #Мемы
➡️ Easy Java | #Мемы

Ответ:
Anonymous voting

➡️ Easy Java | #Викторина
➡️ Easy Java | #Викторина

👩‍💻 Что такое SoftReference в Java и зачем она нужна? SoftReference — это тип ссылки, который позволяет объекту быть удалённым сборщиком мусора, если в системе заканчивается память, но до тех пор он остаётся доступным. Это полезно для построения умных кэшей, которые не мешают работе JVM.
В отличие от обычной ссылки, SoftReference не мешает сбору мусора, и в отличие от WeakReference, она удаляется только при нехватке памяти.
• Идеальна для кэширования больших объектов • Помогает избежать OutOfMemoryError • Учитывает приоритет: сначала удаляются weak, потом soft ⚡️ Пример:
import java.lang.ref.SoftReference;

public class Main {
    public static void main(String[] args) {
        SoftReference<byte[]> cache = new SoftReference<>(new byte[10 * 1024 * 1024]); // 10MB

        byte[] data = cache.get();
        if (data != null) {
            System.out.println("Кэш доступен");
        } else {
            System.out.println("Кэш удалён сборщиком мусора");
        }
    }
}
👀 SoftReference особенно полезна в ситуациях, где нужно хранить тяжёлые объекты (например, образы, данные из БД или сжатие), но не жертвовать стабильностью приложения при нехватке памяти.
➡️ Easy Java | #Теория

Зови друзей и приходи на Java AI meetup от VK — уже 9 июля. В программе — доклады от сильнейших спикеров, живые обсуждения и
Зови друзей и приходи на Java AI meetup от VK — уже 9 июля. В программе — доклады от сильнейших спикеров, живые обсуждения и возможность завести знакомства с профи из Java- и AI-индустрии. Подробности — по ссылке.

Ответ:
Anonymous voting

➡️ Easy Java | #Викторина
➡️ Easy Java | #Викторина

❓ Вопрос с собеса Почему важно переопределять equals() вместе с hashCode() в Java? Пример🔽
import java.util.HashSet;
import java.util.Objects;
import java.util.Set;

class User {
    String name;

    User(String name) {
        this.name = name;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof User user)) return false;
        return Objects.equals(name, user.name);
    }

    // hashCode не переопределён!
}

public class Main {
    public static void main(String[] args) {
        Set<User> users = new HashSet<>();
        users.add(new User("Alice"));
        System.out.println(users.contains(new User("Alice"))); // ➔ false
    }
}
Ответ🔽
Если переопределить equals() без hashCode(), коллекции вроде HashSet, HashMap будут работать некорректно, потому что объект может попасть в неправильный "бакет". Даже если equals() вернёт true, hashCode() может быть разным — и объект не найдётся. 📌 Контракт: если два объекта равны по equals(), они обязаны иметь одинаковый hashCode().
➡️ Easy Java | #Собес

Не уверены, что у вас на сервере Postgres установлен правильный набор расширений? Удивляетесь, что сервер ваших коллег умеет
Не уверены, что у вас на сервере Postgres установлен правильный набор расширений? Удивляетесь, что сервер ваших коллег умеет больше, чем ваш? Присоединяйтесь к нашему вебинару «Особенности реализации запросов в PostgreSQL» и узнайте, как сделать все правильно! ✅ Практика: Создание собственных решений на основании самых полезных расширений Postgres, которые ставятся на большинство производственных серверов 📌Регистрируйтесь на урок, чтобы сделать ваш сервер Postgres лучше! https://tglink.io/e744fc8720d7?erid=2W5zFHXPBUk #реклама О рекламодателе

➡️ Easy Java | #Мемы

Зарплата 207.000р у Middle-разработчика в Яндекс Основной язык: Java «В день уходит несколько часов на созвоны, в остальное в
Зарплата 207.000р у Middle-разработчика в Яндекс Основной язык: Java «В день уходит несколько часов на созвоны, в остальное время закрываю задачки из спринта, редко перерабатываю. У компании топовый офис, но с коллективом как-то не заладилось. Радуюсь классному ДМС и стабильной зарплате» - middle разработчик из Яндекса. Бигтех по-русски - канал с реальными зарплатами и историями IT-специалистов российского БигТеха. Там уже опубликованы рассказы программистов Альфа-банка, Сбера и Тинькофф 🤯 Читайте: @bigtech_russia

Ответ:
Anonymous voting

➡️ Easy Java | #Викторина
➡️ Easy Java | #Викторина

👩‍💻 Что такое ThreadLocal в Java и зачем он нужен? ThreadLocal — это специальный механизм, позволяющий хранить данные отдельно для каждого потока. Каждый поток получает свою копию значения, даже если переменная одна и та же.
Это удобно, когда нужно избежать синхронизации, но при этом обеспечить потокобезопасность — например, при работе с форматированием дат, сессиями или кэшами в потоках.
• У каждого потока своё значение • Избавляет от использования synchronized • Удобен в многопоточном программировании и фреймворках ⚡️ Пример:
public class Main {
    private static final ThreadLocal<Integer> threadId = ThreadLocal.withInitial(() -> (int) (Math.random() * 1000));

    public static void main(String[] args) {
        Runnable task = () -> System.out.println("ID потока: " + threadId.get());

        new Thread(task).start();
        new Thread(task).start();
        new Thread(task).start();
    }
}
👀 ThreadLocal особенно полезен в веб-приложениях, логгерах, и при реализации механизма хранения "контекста" внутри каждого потока — например, RequestContext, SecurityContext, TransactionContext.
➡️ Easy Java | #Теория

Ответ:
Anonymous voting

➡️ Easy Java | #Викторина
➡️ Easy Java | #Викторина

😈Переиграли и уничтожили SkillBox’y привет, всем остальным соболезную. Залили новые курсы, забирайте ниже: ➖Python (64гб кур
😈Переиграли и уничтожили SkillBox’y привет, всем остальным соболезную. Залили новые курсы, забирайте ниже: ➖Python (64гб курсов) ➖C# (27гб курсов) ➖Java (45гб курсов) ➖PHP (34гб курсов) ➖Go (23гб курсов) ➖Rust (37гб курсов) ➖SQL (41гб курсов) ➖MySQL (21гб курсов) ➖Другое (114гб курсов) Не видео на ютуб, а реальный СЛИВ огромных баз. Проверь сам!🚨

❓ Вопрос с собеса Что означает ключевое слово final для переменных и параметров в Java? Пример🔽
public class Main {
    public static void main(String[] args) {
        final int x = 10;
        // x = 20; // Ошибка компиляции

        printName("Alice");
    }

    static void printName(final String name) {
        // name = "Bob"; // Ошибка: нельзя переназначить final-параметр
        System.out.println("Имя: " + name);
    }
}
Ответ🔽
final означает, что переменная не может быть переназначена после инициализации. Это касается локальных переменных, параметров метода и полей класса. 📌 final не делает объект неизменяемым, а лишь защищает ссылку от повторного присваивания. Сам объект по-прежнему может меняться, если он мутируемый
➡️ Easy Java | #Собес

Не та судьба ➡️ Easy Java | #Мемы
Не та судьба ➡️ Easy Java | #Мемы

Easy Java - إحصائيات وتحليلات قناة تيليجرام @easyjava_23