ch
Feedback
Easy Java

Easy Java

前往频道在 Telegram

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

显示更多
5 038
订阅者
-224 小时
-187
-7430
帖子存档
Если тебя спросят это на Java-собеседовании — ты ответишь? Java развивается, требования растут, а вопросы на интервью уже дав
Если тебя спросят это на Java-собеседовании — ты ответишь? Java развивается, требования растут, а вопросы на интервью уже давно не ограничиваются equals/hashCode. Мы собираем канал Java Junior для тех, кто хочет реально понимать Java, а не угадывать ответы. 🚀 Java Core • Spring • практика • задачи • паттерны • тонкости JVM Каждый пост — удар по слабым местам в знаниях. 🔥 Идём дальше Мы готовим Telegram Web App — мини-приложение для обучения и объективной оценки уровня Java-разработчика. Что внутри: ▶ актуальные тесты и практические задания по backend на Java ▶ система подтверждения навыков ▶ марафоны для подготовки к собеседованиям 🗓 Первая версия — 18 февраля Готовьте IDE. Ссылка будет скоро 👀 👉 Java Junior

👩‍💻 TutorialsPoint Java for Beginners — курс по Java для начинающих TutorialsPoint — это онлайн-ресурс, который предоставля
👩‍💻 TutorialsPoint Java for Beginners — курс по Java для начинающих TutorialsPoint — это онлайн-ресурс, который предоставляет широкий спектр учебных материалов и учебных пособий, включая учебные пособия по различным языкам программирования, включая Java. 👀 Что изучается:
— Структуры данных: Обучение включает в себя работу с массивами, списками и другими структурами данных. — Объектно-ориентированное программирование (ООП): Вы изучите концепции ООП, такие как классы, объекты, наследование, полиморфизм и инкапсуляция. — Потоки ввода/вывода: Вы научитесь более глубоко разбираться с потоками для ввода и вывода данных. — Java API: Рассмотрение стандартной библиотеки классов Java.
Ссылка на ресурс ➡️ Easy Java | #Ресурсы

📖 Jqwik: обзор тестирования на основе свойств в UI и API В статье объясняют, как вместо проверки конкретных данных тестирова
📖 Jqwik: обзор тестирования на основе свойств в UI и API В статье объясняют, как вместо проверки конкретных данных тестировать их свойства, зачем это нужно, как помогает Jqwik для Java и где пригодится на практике. ⛓ Читать статью ➡️ Easy Java | #Статья

Что выведет код?
Anonymous voting

👩‍💻 Викторина: что выведет код?
import java.lang.annotation.*;
import java.lang.reflect.Method;

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
@interface MyAnnotation {
    String value() default "";
}

class Processor {
    @MyAnnotation("first")
    public void method1() {}
    
    @MyAnnotation("second")
    private void method2() {}
    
    @MyAnnotation("third")
    protected void method3() {}
    
    public void method4() {}
}

public class Main {
    public static void main(String[] args) throws Exception {
        Class<?> clazz = Processor.class;
        int count = 0;
        
        for (Method method : clazz.getDeclaredMethods()) {
            if (method.isAnnotationPresent(MyAnnotation.class)) {
                count++;
                // Делаем приватный метод доступным
                method.setAccessible(true);
            }
        }
        
        System.out.println("Annotated methods: " + count);
    }
}
➡️ Easy Java | #Викторина

Сеньор с 11+ годами опыта в IT — Влад: слил все курсы топовых зарубежных компаний в свой Телеграм канал ├ Алгоритмы и структу
Сеньор с 11+ годами опыта в IT — Влад: слил все курсы топовых зарубежных компаний в свой Телеграм канал Алгоритмы и структуры данных 2.4 ТБ ├ Python — 1.9 ТБ ├ Fullstack — 1.5 ТБ ├ DevOps 1.1 ТБ ├ Базы данных 850 ГБ ├ Безопасность 790 ГБ └ Мобилка 620 ГБ Все материалы собрали из компании которую лучше не называть Разбивка по стекам: Backend — 2.8 ТБ ├ Frontend — 1.7 ТБ ├ DevOps & Infra — 1.9 ТБ ├ Mobile — 1.2 ТБ └ Algorithms — 2.1 ТБ Оставляем ссылку на архив https://t.me/+J0oNDvQ03gdkN2My

👩‍💻 Что такое Math.multiplyExact() и зачем он нужен? Math.multiplyExact() — это метод из класса java.lang.Math, который выполняет умножение двух чисел с проверкой на переполнение. При переполнении выбрасывается исключение ArithmeticException. ⚡️ Пример:
public class MultiplyExactExample {
    public static void main(String[] args) {
        // Безопасное умножение int
        int a = 1000000;
        int b = 2000;
        
        try {
            int result1 = Math.multiplyExact(a, b);
            System.out.println(a + " * " + b + " = " + result1);
        } catch (ArithmeticException e) {
            System.out.println("Переполнение int: " + e.getMessage());
        }
        
        // Переполнение на примере
        int maxInt = Integer.MAX_VALUE;
        
        try {
            int dangerous = Math.multiplyExact(maxInt, 2);
        } catch (ArithmeticException e) {
            System.out.println("Ожидаемое переполнение: " + maxInt + " * 2");
        }
        
        // Работа с long
        long big1 = 10_000_000_000L;
        long big2 = 5_000L;
        
        try {
            long result2 = Math.multiplyExact(big1, big2);
            System.out.println(big1 + " * " + big2 + " = " + result2);
        } catch (ArithmeticException e) {
            System.out.println("Переполнение long: " + e.getMessage());
        }
        
        // Практический пример: вычисление факториала с проверкой
        System.out.println("\nВычисление факториала с проверкой переполнения:");
        for (int i = 1; i <= 20; i++) {
            try {
                long factorial = computeFactorial(i);
                System.out.println(i + "! = " + factorial);
            } catch (ArithmeticException e) {
                System.out.println(i + "! - переполнение!");
                break;
            }
        }
    }
    
    private static long computeFactorial(int n) {
        long result = 1;
        for (int i = 2; i <= n; i++) {
            result = Math.multiplyExact(result, i);
        }
        return result;
    }
}
Особенно полез при научных и финансовых вычислениях, откладки математических алгоритмов, криптографических операциях. ➡️ Easy Java | #Теория

Изучаешь Java и тебе нужен доступ к AI-чатам и обучающим ресурсам? Ты хочешь просто прокачивать свой навык программирования:
+1
Изучаешь Java и тебе нужен доступ к AI-чатам и обучающим ресурсам? Ты хочешь просто прокачивать свой навык программирования: использовать современные AI-инструменты типа ChatGPT и Claude, смотреть видео-туториалы – а сайты недоступны или грузятся вечно. Что делать? Использовать Telegram-бот Marzipan. ✔️ Безопасный доступ к ChatGPT, Anthropic Claude, Google Gemini и другим AI-инструментам. ✔️ Высокая скорость загрузки видео без задержек. ✔️ Работает на телефоне и ноутбуке. ✔️ Настраивается за 1 минуту прямо в Telegram. ✔️ Бесплатные 3 дня, затем от 199р в месяц. Без заморочек, просто подключайся и будь в тренде современного стека разработки! Переходи в бота, подключай бесплатную пробную подписку – и уже через минуту ты сможешь программировать так, как это делает весь мир. 👉 Перейти в бота 👈

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

📇 Гарантированное получение данных через REST API: подходы и библиотеки для Java В данной статье автор разобрал основные под
📇 Гарантированное получение данных через REST API: подходы и библиотеки для Java
В данной статье автор разобрал основные подходы к работе с REST API в Java и поделился популярными библиотеками для реализации retry-механизмов. Каждый из подходов имеет свои преимущества и недостатки, а выбор подходящего решения зависит от конкретных требований проекта.
🔤 Читать статью 🔤 ➡️ Easy Java | #Статьи #API

Хороший айтишник ≠ хороший руководитель И это причина, почему большинство застревают в своем развитии. 📊 Управление — это от
Хороший айтишник ≠ хороший руководитель И это причина, почему большинство застревают в своем развитии. 📊 Управление — это отдельный навык. В канале Апазиди АйТи показывают, как его развить в реальном IT. ▪️управленческие ошибки, которые тихо ломают карьеру ▪️почему созвоны — признак слабой системы ▪️как строить команды без постоянного контроля Читай тут: 👉 https://t.me/+Jcx__bY56BwwN2Uy

Доступ к ChatGPT за 5 минут без VPN с помощью Cloudflare Коротка, но годная статья по реализации программы, которая позволяет
Доступ к ChatGPT за 5 минут без VPN с помощью Cloudflare Коротка, но годная статья по реализации программы, которая позволяет запускать ChatGPT без VPN! Статья вышла буквально 2 дня назад, потому еще долго будет сохранять свою актуальность, юзайте! ⛓ Читать статью ➡️ Easy Java | #Викторина

90% айтишников проваливают рост в тимлиды ещё до старта Они читают книжки, смотрят курсы — а потом ломаются на первом конфлик
90% айтишников проваливают рост в тимлиды ещё до старта Они читают книжки, смотрят курсы — а потом ломаются на первом конфликте с командой или бизнесом В канале Артём Харченков | IT Инсайты: — Разборы реальных ситуаций из жизни тимлида — Как выглядят правильные решения глазами тимлида — Чем отличается сильный айтишник от тимлида Подписывайся, если хочешь понимать, как устроено тимлидство изнутри: @teamlead_insights

👩‍💻 Что такое Collectors.partitioningBy() и зачем он нужен? Collectors.partitioningBy() — это коллектор из Java Stream API, который разделяет элементы потока на две группы (true/false) на основе заданного предиката, возвращая Map<Boolean, List<T>>. ⚡️ Пример:
import java.util.*;
import java.util.stream.*;
import java.util.function.Predicate;

public class PartitioningByExample {
    public static void main(String[] args) {
        List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
        
        // Разделение чисел на четные и нечетные
        Map<Boolean, List<Integer>> partitioned = numbers.stream()
            .collect(Collectors.partitioningBy(n -> n % 2 == 0));
        
        System.out.println("Четные: " + partitioned.get(true));    // [2, 4, 6, 8, 10]
        System.out.println("Нечетные: " + partitioned.get(false)); // [1, 3, 5, 7, 9]
        
        // Строки по длине
        List<String> words = Arrays.asList("яблоко", "груша", "слива", "апельсин", "лимон");
        
        Map<Boolean, List<String>> byLength = words.stream()
            .collect(Collectors.partitioningBy(word -> word.length() > 5));
        
        System.out.println("\nКороткие слова (≤5 букв): " + byLength.get(false));
        System.out.println("Длинные слова (>5 букв): " + byLength.get(true));
        
        // С дополнительным коллектором - подсчет количества
        Map<Boolean, Long> countPartition = numbers.stream()
            .collect(Collectors.partitioningBy(
                n -> n > 5,
                Collectors.counting()
            ));
        
        System.out.println("\nЧисел ≤5: " + countPartition.get(false));
        System.out.println("Чисел >5: " + countPartition.get(true));
    }
}
👀 Особенно полезен для разделения данных на прошедшие/не прошедшие валидацию, категоризации на успешные/ошибочные операции, статистического анализа.
➡️ Easy Java | #Теория

Что выведет код?
Anonymous voting

👩‍💻 Викторина: что выведет код?
public class Main {
    private static final Object lock1 = new Object();
    private static final Object lock2 = new Object();
    
    public static void main(String[] args) {
        Thread t1 = new Thread(() -> {
            synchronized (lock1) {
                try { Thread.sleep(100); } catch (Exception e) {}
                synchronized (lock2) {
                    System.out.println("Thread 1");
                }
            }
        });
        
        Thread t2 = new Thread(() -> {
            synchronized (lock2) {
                try { Thread.sleep(100); } catch (Exception e) {}
                synchronized (lock1) {
                    System.out.println("Thread 2");
                }
            }
        });
        
        t1.start();
        t2.start();
        
        try {
            t1.join(500);
            t2.join(500);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        
        System.out.println("Main finished");
    }
}
➡️ Easy Java | #Викторина

ИНТЕРНЕТ В РОССИИ — ВСЁ❌ С каждым днём всё больше любимых сайтов и приложений блокируются, а у кого-то работают только прилож
ИНТЕРНЕТ В РОССИИ — ВСЁ С каждым днём всё больше любимых сайтов и приложений блокируются, а у кого-то работают только приложения «Белого списка» Оставляем инструкцию по обходу всех ограничений, в том числе «Белого списка» по ссылке @strelkavpn

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

Самые хитрые и частые вопросы на собеседованиях В статье рассказано про 10 самых «каверзных» вопросах на собеседованих, где д
Самые хитрые и частые вопросы на собеседованиях В статье рассказано про 10 самых «каверзных» вопросах на собеседованих, где достаточно часто допускают ошибки. Есть и те, что больше похожи на головоломки или касаются нюансов, которые прочувствовать без практики очень тяжело. ⛓ Читать статью ➡️ Easy Java | #Статья