TGViewer
Spring АйО Spring АйО @spring_aio · 10.9K subscribers
Post #794 8.16K
👩‍💻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/

🥳 Празднуем в комментах!
  • 🔥 32
  • ❤ 24
  • 👍 10
  • ⚡ 4
More from @spring_aio
  1. Oct 6, 2026👩‍💻 Spring Config Import без магии У наших друзей из Axelix вышла статья о том, как Spri…
  2. Oct 5, 2026🥲 В Java 27 TLS научился переживать квантовую атаку При установке HTTPS-соединения клиент…
  3. Oct 3, 2026⚡️⚡️Строки кода стремятся подешеветь до цены токена. Что остается ценным? Про это — трек «…
  4. Oct 2, 2026🙅‍♂️ Не каждый AI-вызов должен генерировать текст Иногда от модели нужен не красивый отве…
  5. Oct 1, 2026JEP 544: JVM будет сохранять машинный код между запусками JEP 544 (Ahead-of-Time Code Comp…
  6. Sep 30, 2026🍃 Переписываем всё на Rust, JavaScript — кошмар, AI против Vaadin | Spring АйО Подкаст №7…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →