Easy Java
Открыть в Telegram
Лучшие обучающие материалы и другие полезности для Java-разработчиков. Сотрудничество: @heywan_n1 Цены: @heywan_media Реклама на бирже: https://telega.in/c/+r8kkGSypBY84MmIy
Больше5 035
Подписчики
-624 часа
-237 дней
-7830 день
Архив постов
5 035
👩💻 Ищем Java разработчиков. Удалёнка, релокейт платим много!
Специально для Вас, собираем лучшие вакансии для Java разработчиков с прямыми контактами в Telegram на канале @it_match_java
Подпишись чтобы не упустить свой шанс получить лучший оффер!
➡️ Посмотреть вакансии
5 035
👩💻 Что такое Optional в Java и зачем он нужен?
Optional — это контейнер-обёртка, предназначенный для работы с потенциально null-значениями. Он помогает явно выражать возможность отсутствия значения и избегать NullPointerException.
• Упрощает читаемость кода • Избавляет от if (x != null) • Поддерживает декларативный стиль (map, filter, orElse)⚡️ Пример:
import java.util.Optional;
public class Main {
public static void main(String[] args) {
Optional<String> name = Optional.ofNullable(getName());
name.ifPresentOrElse(
n -> System.out.println("Привет, " + n),
() -> System.out.println("Имя не указано")
);
}
static String getName() {
return Math.random() > 0.5 ? "Alice" : null;
}
}
👀 Optional особенно полезен в API-методах, где важно явно указать, что результат может отсутствовать — например, при поиске сущностей, чтении из конфигураций, или безопасной обработке данных.➡️ Easy Java | #Теория
5 035
Приглашаем Java-разработчиков на открытые занятия курса Java Микросервисы, Kafka, Docker, Spring Cloud, Spring WebFlux по всем основным темам микросервисной архитектуры.
🔥Курс фокусируется на применении всего технологического стека Spring Cloud (более 30-ти технологий) на реальном, "живом" проекте, с выполнением и разбором домашних заданий.
🔥Для участников есть персонализированная поддержка и живое общение в телеграм-группе с темами на каждое занятие. В том числе после завершения обучения.
ВЫ ПОЛУЧИТЕ:
⚡️ Полное понимание компонентов микросервисов и их взаимодействия
⚡️ Повышенная ценность, как Java-разработчика и новый уровень дохода
⚡️ Электронный сертификат об окончании курса
Ждем на нашем курсе!
https://t.me/JavaOPsBot?start=c-cloud=s-Easy_Java_2
5 035
❓ Вопрос с собеса
Что делает instanceof и как работает Pattern Matching в Java?
Пример🔽
public class Main {
public static void main(String[] args) {
Object obj = "Hello, world!";
if (obj instanceof String str) {
System.out.println("Длина строки: " + str.length()); // ➔ 13
}
}
}
Ответ🔽
Раньше instanceof только проверял тип, но с Pattern Matching можно одновременно проверить и привести объект к нужному типу — безопасно и без дополнительного кастинга. 📌 Это делает код короче и безопаснее, особенно при работе с объектами неизвестного типа. Можно применять в if, switch, и других конструкциях➡️ Easy Java | #Собес
5 035
👩💻 Что такое enum-синглтон в Java и зачем он нужен?
В Java можно реализовать шаблон "Singleton" с помощью enum. Это считается самым безопасным и лаконичным способом создания синглтона, так как гарантирует:
🟢 отсутствие повторного создания 🟢 защиту от сериализации и reflection-атак 🟢 потокобезопасность без дополнительного кода• Простой синтаксис • Безопасность на уровне JVM • Гарантированная единственность экземпляра ⚡️ Пример:
public enum AppConfig {
INSTANCE;
private final String baseUrl = "https://example.com";
public String getBaseUrl() {
return baseUrl;
}
}
public class Main {
public static void main(String[] args) {
System.out.println(AppConfig.INSTANCE.getBaseUrl()); // ➔ https://example.com
}
}
👀 enum-синглтон особенно полезен для конфигураций, логгеров, глобальных менеджеров ресурсов и других классов, где нужен один и только один экземпляр во всём приложении.➡️ Easy Java | #Теория
5 035
❓ Вопрос с собеса
В каком порядке вызываются конструкторы при наследовании в 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 | #Собес
5 035
👩💻 Что такое 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 | #Теория
5 035
Зови друзей и приходи на Java AI meetup от VK — уже 9 июля.
В программе — доклады от сильнейших спикеров, живые обсуждения и возможность завести знакомства с профи из Java- и AI-индустрии.
Подробности — по ссылке.
