TGViewer
devmark_ru devmark_ru @devmark_ru · 224 subscribers
Post #141 275
Сегодня, 18 марта 2025 года, вышла новая версия Java 24!

✅ Новые фичи:

Stream Gatherers - это расширение Stream API, которое позволяет создавать собственные промежуточные (intermediate) операции. До этого можно было использовать только стандартные промежуточные операции вроде filter(), map(), distinct() и т.п.

Class-File API - это стандартное API для парсинга, генерации и трансформации class-файлов, которое впервые появилось в Java 22, теперь окончательно оформилось в Java 24. Фреймворки и инструменты, использующие стандартный API, будут автоматически поддерживать class-файлы из последней версии JDK, что позволит быстро и легко внедрять новые возможности языка и VM, представленные в class-файлах. До этого обновление сторонних библиотек для работы с class-файлами происходило с заметной задержкой относительно релиза каждой новой JDK.

✅ Фичи в статусе превью (работают только с флагом --enable-preview):

Generational Shenandoah GC - режим поколений для сборщика мусора Shenandoah. Изначально Shenandoah был non-generational сборщиком, то есть он не разделял объекты на молодое и старое поколения, как это делают G1, Parallel и, начиная с JDK 23, ZGC. Благодаря новому режиму Shenandoah сможет поддерживать молодое и старое поколения, что позволит чаще собирать молодые объекты.

Project Lilliput привносит компактные заголовки объектов. Цель проекта — уменьшить размер заголовков Java-объектов в HotSpot JVM с 96 или 128 бит до 64 бит на 64-битных архитектурах (x64 и AArch64). Это призвано уменьшить использование CPU и/или памяти Java-приложениями.

✅ Очередные итерации предварительных версий:

Поддержка примитивных типов в конструкциях pattern matching, switch и instanceof. То есть когда во время проверки условия компилятор автоматически выводит тип данных. Ранее это было доступно для ссылочных типов и record-классов.

Vector API повышает производительность расчётов на массивах однотипных данных. Это особенно актуально для машинного обучения, линейной алгебры, криптографии и финансов.

Simple Source Files, который позволяет писать программы вида "Hello, world!" в упрощённом варианте: без явного определения класса, без импортов и в не-статическом main-методе без параметров. Это приближает Java по синтаксису к скриптовым языкам.

Flexible Constructor Bodies - в конструкторе класса можно выполнять некоторую логику перед вызовом super(), если она не использует текущее состояние объекта.

Импорт модулей как альтернатива импорту пакетов.

Я перечислил только основные изменения. На самом деле их больше.

Будете ли вы переходить на Java 24 или дождётесь Java 25, версии с длительной поддержкой, выход которой запланирован на сентябрь?
  • 👍 6
  • 🔥 3
More from @devmark_ru
  1. Sep 7, 2026Новый этап автоматизации SDLC от Dockhost! Спустя 3 месяца после появления LLM инференса н…
  2. Jul 16, 2026OpenIDE представила свой клиент для базы данных! На днях вышла новая версия OpenIDE Pro, в…
  3. Jun 30, 2026Channel photo updated
  4. Jun 26, 2026"Товарищ Сталин, что вы курите?" В процессе "общения" с LLM вспомнился один старый номер и…
  5. Jun 15, 2026Вышел стабильный релиз Spring AI 2.0 Чуть больше года назад появился Spring AI версии 1.0,…
  6. May 29, 2026Ваш персональный ChatGPT от Dockhost Продолжаю серию постов про альтернативные LLM, которы…
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 →