fa
Feedback
Easy Java

Easy Java

رفتن به کانال در Telegram

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

نمایش بیشتر
5 220
مشترکین
-124 ساعت
-237 روز
-8730 روز
آرشیو پست ها
Ответ:
Anonymous voting

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

Вопрос с собеса Что такое Callable в Java и чем он отличается от Runnable? Пример🔽
import java.util.concurrent.*;

public class Main {
    public static void main(String[] args) throws Exception {
        ExecutorService executor = Executors.newSingleThreadExecutor();

        Callable<Integer> task = () -> {
            Thread.sleep(500);
            return 7 * 6;
        };

        Future<Integer> future = executor.submit(task);
        System.out.println("Результат: " + future.get()); // ➔ 42

        executor.shutdown();
    }
}
Ответ🔽
Runnable — это интерфейс для задач, которые выполняются в отдельном потоке, но не возвращают результат и не могут выбрасывать проверяемые исключения. Callable<V> — это интерфейс для задач, которые возвращают результат (V) и могут выбрасывать исключения. 📌 Основные отличия: — Runnable.run() → void, без checked-исключений — Callable.call() → V, может выбросить checked-исключения — Callable всегда используется вместе с Future для получения результата
➡️ Easy Java | #Собес

Подборка каналов IT от наших друзей: 🦥 Lazy_Programmer – Для ленивых 🎬 videos_it  — База видеоуроков по IT 🐧 Linux_Club — Для Linuxоидов 📔 BOOKS — Читать не перечитать 🇷🇺 our_computer — У нас как в СССР 🔐 LazySecurity — Канал по ИБ 🤩 iwannabeprogrammer  — IT-мемы 🔥 floppydisky — ITUMOR 📱 codebase_frontend — Красим кнопки ➡️ LazyDevOps —  Канал для дев и псов 🐈‍⬛️ LazyTester — Протестируй канал!

Вопрос с собеса Что такое Callable в Java и чем он отличается от Runnable? Пример🔽
import java.util.concurrent.*;

public class Main {
    public static void main(String[] args) throws Exception {
        ExecutorService executor = Executors.newSingleThreadExecutor();

        Callable<Integer> task = () -> {
            Thread.sleep(500);
            return 7 * 6;
        };

        Future<Integer> future = executor.submit(task);
        System.out.println("Результат: " + future.get()); // ➔ 42

        executor.shutdown();
    }
}
Ответ🔽
Runnable — это интерфейс для задач, которые выполняются в отдельном потоке, но не возвращают результат и не могут выбрасывать проверяемые исключения. Callable<V> — это интерфейс для задач, которые возвращают результат (V) и могут выбрасывать исключения. 📌 Основные отличия: — Runnable.run() → void, без checked-исключений — Callable.call() → V, может выбросить checked-исключения — Callable всегда используется вместе с Future для получения результата
➡️ Easy Java | #Собес

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

🤔 Слишком поздно заходить в IT в 2025? Врать не буду, скорее да, чем нет: за последние пять лет порог вхождения сильно поднялся, и теперь нередко от джуна требуют навыки грейдом выше. Что делать в такой ситуации? Учиться эффективнее остальных и знать, как подать себя на рынке других. Разобраться со всем этим вам поможет База Знаний — место, где за вас уже отобрали лучшие материалы по самым востребованным вакансиям: 🖥 Python Dev – 1558+ материалов 👩‍💻 Frontend Dev – 1241+ материалов 👩‍💻 Backend Dev – 1095+ материалов 📊 Data Scientist – 978+ материалов 🎨 UX/UI Designer – 885+ материалов 🤖 Нейросети – 824+ материалов 📖 Книги по IT – 779+ материалов Советую перейти и начать учиться уже сейчас — так уже через пару месяцев сможете претендовать на вакансию c хорошим окладом 👍

Ответ:
Anonymous voting

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

📖 JEP 502 — Stable Values. Новая фича из Java 25 Stable Values - новая возможность, которая появится в Java 25 — следующем L
📖 JEP 502 — Stable Values. Новая фича из Java 25 Stable Values - новая возможность, которая появится в Java 25 — следующем LTS-релизе, намеченном на сентябрь. ⛓ Читать статью ➡️ Easy Java | #Статья

👩‍💻 Что такое LinkedBlockingQueue в Java и зачем она нужна? LinkedBlockingQueue — это потокобезопасная очередь из пакета java.util.concurrent, реализованная на связном списке.
Очередь блокирует операции добавления, если достигнут лимит, и операции извлечения, если очередь пуста. Это делает её удобным инструментом для синхронизации потоков.
• Поддерживает опциональный лимит размера • Автоматически блокирует при пустой/полной очереди • Идеальна для producer-consumer сценариев ⚡️ Пример:
import java.util.concurrent.*;

public class Main {
    public static void main(String[] args) {
        BlockingQueue<String> queue = new LinkedBlockingQueue<>(2);

        Runnable producer = () -> {
            try {
                queue.put("task-1");
                queue.put("task-2");
                System.out.println("Продюсер добавил задачи");
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        };

        Runnable consumer = () -> {
            try {
                System.out.println("Консьюмер обработал: " + queue.take());
                System.out.println("Консьюмер обработал: " + queue.take());
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        };

        new Thread(producer).start();
        new Thread(consumer).start();
    }
}
👀 LinkedBlockingQueue особенно полезна для построения очередей задач в многопоточных приложениях, ограниченного буферинга и потокобезопасной коммуникации между потоками.
➡️ Easy Java | #Теория

Ответ:
Anonymous voting

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

VK JT = Java + Go! 16 сентября VK приглашает Go‑ и Java‑разработчиков на VK JT Meetup в Санкт-Петербурге. В программе: — Макс
VK JT = Java + Go! 16 сентября VK приглашает Go‑ и Java‑разработчиков на VK JT Meetup в Санкт-Петербурге. В программе: — Максимально практические доклады от техлидов VK о трансформации ВКонтакте, переходе части сервисов на Go и об устройстве и развитии единой видеоплатформы VK — Командные бэкенд-баттлы под менторством опытных разработчиков VK — кейсы, вдохновлённые реальной архитектурой VK Задавайте вопросы экспертам, ищите лучшее командное решение кейса и оставайтесь на афтепати: нетворкинг, фуршет, свободное общение с коллегами. Только офлайн, в офисе VK на Мойке. 🎟 Участие бесплатное, почитать подробнее и зарегистрироваться вы сможете на сайте

Вопрос с собеса Что такое Future в Java и какие у него ограничения? Пример🔽
import java.util.concurrent.*;

public class Main {
    public static void main(String[] args) throws Exception {
        ExecutorService executor = Executors.newSingleThreadExecutor();

        Future<Integer> future = executor.submit(() -> {
            Thread.sleep(1000);
            return 42;
        });

        System.out.println("Результат: " + future.get()); // блокируется, пока не готово
        executor.shutdown();
    }
}
Ответ🔽
Future используется для представления результата асинхронной задачи. С его помощью можно запустить вычисление в отдельном потоке и позже получить результат через get(). Ограничения Future: — нельзя легко комбинировать несколько задач — нет встроенной обработки ошибок — вызов get() блокирует поток, пока результат не готов 📌 Эти ограничения решаются с помощью CompletableFuture, который поддерживает цепочки и реактивный стиль.
➡️ Easy Java | #Собес

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

Ответ:
Anonymous voting

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