Java 21 – это LTS-релиз, который принесёт важные улучшения. Вот самые интересные новинки:
1️⃣ Виртуальные потоки (Virtual Threads) 🧵
- Теперь
Thread больше не проблема! - Создание тысячи потоков стало дешёвым и быстрым:
try (var executor = Executors.newVirtualThreadPerTaskExecutor()) {
executor.submit(() -> System.out.println("Hello, Virtual Thread!"));
}
2️⃣ Pattern Matching для
switch - Больше не нужно кастовать вручную!
static void test(Object obj) {
switch (obj) {
case String s -> System.out.println("Это строка: " + s);
case Integer i when i > 0 -> System.out.println("Положительное число: " + i);
default -> System.out.println("Что-то другое");
}
}
3️⃣ Scoped Values (Альтернатива
ThreadLocal) - Теперь передача данных в потоки стала безопаснее!
static final ScopedValue<String> USER = ScopedValue.newInstance();
ScopedValue.runWhere(USER, "Admin", () -> System.out.println(USER.get()));
4️⃣ Record Patterns
- Улучшенный
record, теперь можно удобно распаковывать данные:
record Point(int x, int y) {}
static void printPoint(Object obj) {
if (obj instanceof Point(int x, int y)) {
System.out.println("Координаты: " + x + ", " + y);
}
}
5️⃣ String Templates (в превью!)
- Упрощённое создание строк:
String name = "Alice";
String message = STR."Привет, \{name}!";
Java 21 делает язык ещё удобнее! Какая фича понравилась больше всего? 🤔
👉@BookJava