ar
Feedback

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

Easy Java

Easy Java

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

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

إظهار المزيد
4 939
المشتركون
+424 ساعات
-177 أيام
-1830 أيام
أرشيف المشاركات
В Яндексе платят 300.000р, Сбер нуждается в инженерах, а в Тинькофф нехватка кадров «Бигтех по-русски» — место, где разработч
В Яндексе платят 300.000р, Сбер нуждается в инженерах, а в Тинькофф нехватка кадров «Бигтех по-русски» — место, где разработчики из крупных компаний рассказывают правду о работе мечты, зарплатах и жизни в IT. Присоединяйся: @bigtech

❓ Вопрос с собеса Что такое Reflection в Java и как он работает? Пример🔽
import java.lang.reflect.Field;
import java.lang.reflect.Method;

public class Main {
    public static void main(String[] args) throws Exception {
        Class<?> clazz = Person.class;

        System.out.println("Поля:");
        for (Field f : clazz.getDeclaredFields())
            System.out.println(" - " + f.getName());

        System.out.println("\nМетоды:");
        for (Method m : clazz.getDeclaredMethods())
            System.out.println(" - " + m.getName());

        Person p = new Person("Alice");
        Method sayHello = clazz.getDeclaredMethod("sayHello");
        sayHello.invoke(p); // вызов приватного метода через Reflection
    }
}

class Person {
    private String name;
    public Person(String name) { this.name = name; }
    private void sayHello() { System.out.println("Привет, " + name); }
}
Ответ🔽
Reflection (рефлексия) позволяет анализировать и изменять поведение классов во время выполнения. С её помощью можно: — получать информацию о классах, полях и методах — вызывать методы и изменять поля динамически — создавать экземпляры классов без new 📌 Минусы: — снижает производительность, — нарушает инкапсуляцию, — может вызывать ошибки безопасности. Reflection активно используется в фреймворках (Spring, Hibernate, JUnit) для внедрения зависимостей, сериализации и динамического вызова кода
➡️ Easy Java | #Собес

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

Ответ:
Anonymous voting

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

👩‍💻 Что такое ReentrantReadWriteLock в Java и зачем он нужен? ReentrantReadWriteLock — это улучшенная альтернатива synchronized, позволяющая одновременно выполнять несколько чтений, но блокировать доступ на запись.
Он состоит из двух независимых замков: • readLock() — совместимый, позволяет многим потокам читать параллельно • writeLock() — эксклюзивный, разрешает только одному потоку писать
⚡️ Пример:
import java.util.concurrent.locks.*;

public class Main {
    private static final ReentrantReadWriteLock lock = new ReentrantReadWriteLock();
    private static int value = 0;

    public static void main(String[] args) {
        Runnable reader = () -> {
            lock.readLock().lock();
            try {
                System.out.println("Чтение: " + value);
            } finally {
                lock.readLock().unlock();
            }
        };

        Runnable writer = () -> {
            lock.writeLock().lock();
            try {
                value++;
                System.out.println("Запись: " + value);
            } finally {
                lock.writeLock().unlock();
            }
        };

        new Thread(reader).start();
        new Thread(writer).start();
    }
}
👀 ReentrantReadWriteLock особенно полезен, когда чтений гораздо больше, чем записей — например, в кэшах, справочниках или аналитических сервисах
➡️ Easy Java | #Теория

👩‍💻 Всем программистам посвящается! Вот 17 авторских обучающих IT каналов по самым востребованным областям программирования
👩‍💻 Всем программистам посвящается! Вот 17 авторских обучающих IT каналов по самым востребованным областям программирования: Выбирай своё направление: 👩‍💻 Python — t.me/python_ready 🤔 InfoSec & Хакинг — t.me/hacking_ready 🖥 SQL & Базы Данных — t.me/sql_ready 🤖 Нейросети — t.me/neuro_ready 👩‍💻 C/C++ — https://t.me/cpp_ready 👩‍💻 C# & Unity — t.me/csharp_ready 👩‍💻 Java — t.me/java_ready 👩‍💻 Linux — t.me/linux_ready 🖼️ DevOps — t.me/devops_ready 📖 IT Книги — t.me/books_ready 👩‍💻 Frontend — t.me/frontend_ready 📱 JavaScript — t.me/javascript_ready 👩‍💻 Backend — t.me/backend_ready 📱 GitHub & Git — t.me/github_ready 👩‍💻 Весь IT — t.me/it_ready 👩‍💻 Bash & Shell — t.me/bash_ready 🖥 Design — t.me/design_ready 📌 Гайды, шпаргалки, задачи, ресурсы и фишки для каждого языка программирования!

Ответ:
Anonymous voting

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

❓ Вопрос с собеса Что такое ClassLoader в Java и как он работает? Пример🔽
public class Main {
    public static void main(String[] args) {
        ClassLoader loader = Main.class.getClassLoader();

        System.out.println("ClassLoader: " + loader);
        System.out.println("Parent: " + loader.getParent());
        System.out.println("Grandparent: " + loader.getParent().getParent()); // ➔ null (Bootstrap)
    }
}
Ответ🔽
ClassLoader отвечает за загрузку классов в память JVM. Он превращает байткод (.class файлы) в объекты Class во время выполнения. Загрузка происходит каскадно — через цепочку загрузчиков: Bootstrap ClassLoader — загружает базовые классы JDK (java.lang.*, java.util.*) Platform (или Extension) ClassLoader — загружает расширения из jmods Application ClassLoader — загружает классы приложения из classpath 📌 Можно создать свой ClassLoader для динамической подгрузки плагинов, изоляции зависимостей или перезапуска модулей без перезапуска JVM
➡️ Easy Java | #Собес

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

Ответ:
Anonymous voting

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

⚡️Группа хакеров взломала сервера Skillbox, Geekbrains, Skillfactory и ещё 12 онлайн-школ, чтобы выгрузить их курсы в Telegra
⚡️Группа хакеров взломала сервера Skillbox, Geekbrains, Skillfactory и ещё 12 онлайн-школ, чтобы выгрузить их курсы в Telegram Юристы пытаются удалить каналы за Авторские Права🤡 – потому вот актуальные ссылки на архивы: По школам:  ├ Skillbox (1.12 ТБ) ├ Нетология (846 ГБ) ├ SkillFactory (720 ГБ)  ├ GeekBrains (934 ГБ) └ Другие (3.21 ТБ) По ЯП: ├ Python (1.48 ТБ) ├ SQL (982 ГБ) ├ С++ (590 ГБ) ├ C (318 ГБ) ├ GoLang (290 ГБ) └ Другие (3.17 ТБ) Ссылка на общий архив: @schools_hack_arc

👩‍💻 Что такое Phaser в Java и зачем он нужен? Phaser — это продвинутый синхронизатор из java.util.concurrent, который позволяет потокам координироваться по фазам выполнения.
В отличие от CountDownLatch и CyclicBarrier, он гибче: количество участников можно динамически добавлять и убирать.
• Поддерживает несколько фаз • Гибко управляет количеством потоков • Удобен для пошаговых алгоритмов ⚡️ Пример:
import java.util.concurrent.Phaser;

public class Main {
    public static void main(String[] args) {
        Phaser phaser = new Phaser(3);

        Runnable task = () -> {
            System.out.println(Thread.currentThread().getName() + " — фаза 1");
            phaser.arriveAndAwaitAdvance();
            System.out.println(Thread.currentThread().getName() + " — фаза 2");
        };

        new Thread(task).start();
        new Thread(task).start();
        new Thread(task).start();
    }
}
👀 Phaser особенно полезен для задач с несколькими этапами синхронизации — например, симуляций, параллельных вычислений или координации батчевых операций
➡️ Easy Java | #Теория

VK проводит Weekend Offer для бэкенд-разработчиков и ML-инженеров. Это отличная возможность получить офер за 2 дня и не проходить много этапов. Ищут бэкендеров со знанием Java, Go, Python или C++. И MLщиков, с навыками в Classic ML, RecSys, NLP/LLM, CV, Speech. Важный момент: ищут коллег с опытом коммерческой разработки от трех лет. Совпадает? Тогда у вас есть все шансы получить приглашение на работу за 2 дня: технические собеседования 4 октября, а финалы, знакомство с командами и офер 5 октября. Отправляйте заявку до 2 октября и станьте частью VK! Подробнее — на сайте.

Ответ:
Anonymous voting

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

Как вы решаете вопрос с покрытием? Почти в каждом проекте висит задача: поднять покрытие до 70%. И почти в каждой команде ник
Как вы решаете вопрос с покрытием? Почти в каждом проекте висит задача: поднять покрытие до 70%. И почти в каждой команде никто не хочет этим заниматься. Explyt – AI-плагин для Java и Kotlin разработчиков, который снимает эту боль. Он генерирует юнит-тесты прямо в IDE: по коду, по runtime-трассам, по спекам. И делает это так, как будто реально вник в проект. 📌 Что умеет: - создаёт осмысленные тесты для Java и Kotlin-кода - поддерживает JUnit 4/5, TestNG, кастомные фреймворки - превращает execution trace в автотесты - предлагает фиксы, если сгенерированный тест падает - есть режим агента, где AI сам меняет код, запускает тесты и ищет ошибки 📦 Плагин доступен: - через JetBrains Marketplace - или напрямую с сайта разработчика 🎁 30 дней бесплатного доступа – просто пользуйтесь. 👉 Попробовать на своём проекте

❓ Вопрос с собеса Что произойдёт, если в Java вызвать System.exit()? Пример🔽
public class Main {
    public static void main(String[] args) {
        try {
            System.out.println("Начало работы");
            System.exit(0);
            System.out.println("Этот код не выполнится");
        } finally {
            System.out.println("И этот тоже"); // не будет выведен
        }
    }
}
Ответ🔽
System.exit() немедленно завершает работу JVM, останавливая все потоки, включая демоны. При этом: — Все блоки finally и shutdown hooks могут не выполниться, если вызвать Runtime.getRuntime().halt() или если ОС аварийно завершает процесс. — Код после System.exit() никогда не выполняется. — Аргумент метода (0 или ненулевое значение) используется как код возврата процесса в ОС. 📌 Обычно System.exit() применяют в утилитах, CLI-программах или при фатальных ошибках, но в серверных приложениях лучше использовать корректное завершение с shutdown hooks
➡️ Easy Java | #Собес