2.0Kпросмотров
16 сентября 2025 г.
statsScore: 2.2K
👩‍💻Java 25 выходит уже сегодня! Четверть века назад язык, придуманный для «умных тостеров», стал символом корпоративного софта и огромных систем. Сегодня Java продолжает эволюционировать, и каждая новая версия всё сильнее ломает стереотип о «тяжёлом корпоративном динозавре». Встречаем 25 версию Java! Небольшая часть фич: 🛑Scoped Values (JEP 506) — более безопасная и эффективная альтернатива ThreadLocal: ScopedValue<String> USER = ScopedValue.newInstance(); ScopedValue.where(USER, "admin").run(() -> System.out.println(USER.get()) // admin ); 🛑Structured Concurrency (JEP 505, пятое preview) — читаемый и контролируемый параллелизм: try (var scope = StructuredTaskScope.shutdownOnFailure()) { Future<String> f1 = scope.fork(this::loadUser); Future<String> f2 = scope.fork(this::loadOrders); scope.join(); System.out.println(f1.resultNow() + f2.resultNow()); } 🛑Primitive Types в pattern matching (JEP 507, третье preview) — теперь switch и instanceof понимают примитивы без лишнего бокса. int x = 42; switch (x) { case 0 -> System.out.println("zero"); case 42 -> System.out.println("the answer"); default -> System.out.println("other"); } 🛑Vector API (JEP 508, Tenth Incubator) — быстрые SIMD-операции прямо из Java: var a = IntVector.fromArray(SPECIES, arr1, 0); var b = IntVector.fromArray(SPECIES, arr2, 0); var c = a.add(b); // параллельное сложение 🛑Module Import Declarations (JEP 511) — чище и короче исходники: import module java.base; 🛑Compact Object Headers (JEP 519) — меньше overhead на каждый объект ⇒ экономия памяти без изменений в коде. 🛑Generational Shenandoah GC (JEP 521) — теперь сборщик разделяет молодые и старые поколения, уменьшая паузы и ускоряя работу. 🛑Ещё: улучшения в G1 GC, компактные исходники (JEP 512), гибкие конструкторы (JEP 513) и многое другое. 🛑А в контейнерах JVM стала меньше и умнее, лучше учитывает лимиты памяти и CPU. Для Kubernetes – меньше сюрпризов и затрат на облака. 🛑И напоследок... Oracle официально выводит GraalVM из Java Ecosystem Train. Что это значит: GraalVM для JDK 24 стал последним релизом, поддерживаемым в составе Oracle Java SE. Экспериментальный GraalVM JIT также более не будет поставляться OracleJDK. Native Image как Early Adopter-технология больше не входит в Java SE. Дальше развитие GraalVM для Java переходит в Project Leyden — именно там теперь будут решать задачи ускорения старта, снижения footprint и улучшения по time-to-peak performance. Сам же GraalVM сосредоточится на других языках — GraalPy, GraalJS и прочих. Как быть? – Если вы использовали Graal JIT — переходите на стандартный C2 JIT в Oracle JDK. – Если интересовались AOT — смотрите на Java 25: там уже JEP 514 (Ahead-of-Time Command-Line Ergonomics) и JEP 515 (Ahead-of-Time Method Profiling). ⚠️ Это не значит, что GraalVM проект более не развивается. Как высказался Thomas Wuerthinger, Project Lead GraalVM и отдельный Product Manager Java Standard Edition в данном посте на Reddit - GraalVM как проект остается и никуда не уходит. Происходит лишь реорганизация продукта GraalVM JIT. 📚Более подробно ознакомиться с фичами можно в нашей статье на Хабр: https://habr.com/ru/companies/spring_aio/articles/947420/ 🥳 Празднуем в комментах!
2.0K
просмотров
3255
символов
Да
эмодзи
Нет
медиа

Другие посты @yabed_news

Все посты канала →
👩‍💻Java 25 выходит уже сегодня! Четверть века назад язык, — @yabed_news | PostSniper