microJUG
1.01K subscribers
160 photos
1 video
2 files
256 links
Мысли о Java.
Основной канал: @miniJUG
Буст: https://t.me/microJUG?boost
Чат: https://t.me/micro_JUG
Таблица JEP'ов: https://minijug.org/jeps.html
Download Telegram
Официально. Valhalla попадёт в JDK 28.

Пулл-реквест первого превью JEP 401: Value Classes and Objects сейчас находится на ревью на Гитхабе. В нём около 2800 коммитов и почти 200 тысяч строк кода.

#valhalla
🔥33124
JDK x86_64 станет deprecated for removal на macOS

Появился черновик JEP: Deprecate the macOS/x64 Port for Removal. Мотивация: Apple перевёл всё своё железо на архитектуру AArch64. Поэтому поддержка со стороны Oracle будет прекращена, т.к. это требует значительных ресурсов и усилий.
👍15🤡4😢3
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥125
Коммит "Implement JEP 401: Value Objects (Preview)" смёржен в главную ветку репозитория OpenJDK
#valhalla
🎉3675🔥2
Появилась первая Early-Access сборка JDK 28, включающая в себя JEP 401: Value Objects (Preview). Можно скачивать и тестировать ваши приложения.

Напоминание: классы JDK вроде Integer и LocalDate не будут value классами в рантайме, если не указать ключ --enable-preview.

#valhalla
15
⌨️ Две большие новости прошлой недели.

Во-первых, наконец-то вышел JEP 544: Ahead-of-Time Code Compilation. Это то, собственно, ради чего создавался проект Leyden: статическая компиляция байткода в нативный код. Без этого не получилось бы решить одну из главных проблем Java: медленный старт приложений. Пока JEP'у не назначен релиз, но есть шанс, что это будет в 28 (т.е. в 29 LTS это уже по-любому будет).

Во-вторых, наконец-то Structured Concurrency выходит из preview в Java 28. Суммарно с инкубаторами он был в таком состоянии 9 релизов (дольше так долго находится только Vector API).

#leyden
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥199❤1
В сортировке Java опять нашли баг. На этот раз, правда, затронут только parallelSort().

Нарушается стабильность сортировки: контракт sort() и parallelSort() гарантирует, что если элементы равны, то они сохраняют свой изначальный порядок. Но при некоторых условиях parallelSort() равные элементы перемешиваются.

Баг обнаружил один из создателей Dual-Pivot Quicksort в OpenJDK Владимир Ярославский. Он привёл пример кода, ломающего параллельную сортировку.

Update: на самом деле баг старый (1, 2), просто ни у кого не дошли руки его починить 🤷‍♂️
😱10🫡42
⚠️ В связи с недавней компрометацией приватных ключей удостоверяющего центра eMudhra рекомендуется немедленно выполнить ряд действий, чтобы защитить ваши Java-приложения от потенциальных атак через поддельные TLS-сертификаты. В первую очередь это касается тех приложений, которые устанавливают HTTPS-соединения.

Запустите программу https://cr.openjdk.org/~mr/CheckCerts.java. Она сообщит, подвержен ли риску ваш рантайм.

Обновите вашу версию JDK до последней (даже если вы обновлялись на этой неделе).

Если обновление невозможно, то удалите соответствующие сертификаты из keystore.

Подробности описаны на сайте OpenJDK: https://openjdk.org/emudhra
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
🤷‍♂️ JEP "Primitive Types in Patterns, instanceof, and switch" будет отозван и не попадёт в Java 28.

Эта фича была в preview 5 раз (с Java 23 по Java 27). И был готов черновик под шестое preview в Java 28. Но было принято решение остановить дальнейшую разработку:

The Valhalla project has been exploring a new vision for Java numerics, including the possibility of user-defined numeric types. New kinds of numeric types would need to support exact numeric conversion, and vice versa. Given that the Valhalla work is still evolving, it would be premature to finalize Primitive Types in Patterns with their current definition of exact numeric conversion.


Есть и хорошая новость: появится другая фича, Constant Patterns, которая сейчас находится в разработке. У неё скоро появится JEP.
Please open Telegram to view this post
VIEW IN TELEGRAM
😭9👍2🤪2😁1🥴1🌚1