URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 133155
[ Назад ]

Исходное сообщение
"Выпуск платформы Java SE 22 и открытой эталонной реализации OpenJDK 22"

Отправлено opennews , 20-Мрт-24 00:47 
После шести месяцев разработки компания Oracle выпустила платформу Java SE 22 (Java Platform, Standard Edition 22), в качестве эталонной реализации которой используется открытый проект OpenJDK. За исключением удаления некоторых устаревших возможностей в  Java SE 22 сохранена  обратная совместимость с прошлыми выпусками платформы Java - большинство ранее написанных Java-проектов без изменений будут работоспособны при запуске под управлением новой версии.  Готовые для установки сборки Java SE 22 (JDK, JRE и Server JRE) подготовлены для Linux (x86_64, AArch64), Windows (x86_64) и macOS (x86_64, AArch64). Разработанная в рамках проекта OpenJDK эталонная реализация Java 22 полностью открыта под лицензией GPLv2 с исключениями GNU ClassPath, разрешающими динамическое связывание с коммерческими продуктами...

Подробнее: https://www.opennet.dev/opennews/art.shtml?num=60812


Содержание

Сообщения в этом обсуждении
"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено Михаил Сергеевич , 20-Мрт-24 00:47 
А Micro Edition (Java ME) сдохло? Вроде на их сайт зашёл, страничка жива, никаких анонсов об устаревании. Но и новостей не слышно.

"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено Аноним , 20-Мрт-24 00:52 
> А Micro Edition (Java ME) сдохло? Вроде на их сайт зашёл, страничка
> жива, никаких анонсов об устаревании. Но и новостей не слышно.

Попробуй скачать без VPN эту радость


"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено Аноним , 20-Мрт-24 07:38 
Религия не позволяет использовать VPN?

"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено 12yoexpert , 20-Мрт-24 09:01 
скачал, в чём проблема?

"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено Аноним , 20-Мрт-24 17:40 
Оно полностью проприетарное, а опенсорсная реализация SquirrelJME бесполезна, так как хреново документирована и тулчейн отсутствует

"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено Аноним , 20-Мрт-24 19:40 
> Оно полностью проприетарное

Так написал, будто это что-то плохое.


"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено Аноним , 20-Мрт-24 00:59 
> сохранена обратная совместимость с прошлыми выпусками платформы Java

Как же это не прогрессивно! Гтк/Гномеры осуждают.
И разработчики Glibc тоже.


"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено Аноним , 20-Мрт-24 07:07 
Гарантируется? Или так же, как с предыдущими версиями - повышение версии означает разработку заново.

"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено pelmaniac , 20-Мрт-24 09:43 
>повышение версии означает разработку заново.

это пассаж про жабу? сама жаба ломается очень мало по сравнению с остальными фреймворками. недавно решил обновить легасятину которая работала под jdk11 и wildfly 2019-го года (jsf, primefaces итд).

в целом, заняло час-два и переписывать пришлось ТОЛЬКО куски из jsf и primefaces.
ну и import-ы поменять с javax на jakarta (99% работы делает IDE)


"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено Аноним , 20-Мрт-24 07:35 
Что-то незаметно, чтобы из GLibc выкидывали уже имеющиеся функции C.

"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено n00by , 21-Мрт-24 09:02 
   Отличия между библиотекой C и ядром
       В glibc до версии 2.3, обёрточная функция _exit() вызывала системный вызов ядра с тем же именем.
       Начиная  с  glibc  2.3,  обёрточная  функция  вызывает  exit_group(2),  чтобы завершить все нити
       процесса.

"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено penetrator , 20-Мрт-24 03:00 
String query = "SELECT * FROM Person p WHERE p."
       + property + " = '" + value + "'"; // было

похоже на трындеж, не может быть чтобы они не знали, что такое параметры


"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено нах. , 20-Мрт-24 07:52 
И в каком диалекте sql property у тебя может быть - параметром?

И нет, не знают - это конкретные библиотеки должны знать.

Да и зачем нужен этот костыль в современных ЯП чтобы собрать строку из частей - тоже неочевидно. От sql injections вопреки распространенным фантазиям - не защищает. Валидируйте юзерский инпут, блжд, а не надейтесь на костыли.


"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено Аноним , 20-Мрт-24 10:44 
ты вставляешь в sql валидированный инпут?

"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено нах. , 20-Мрт-24 12:17 
> ты вставляешь в sql валидированный инпут?

если тебе никаким образом не надо вставлять в sql запрос данные (а то и как тут - параметры) пришедшие извне - зачем вообще выполнять этот запрос, да еще и программно?

Обычно таки да - мы храним там данные, имеющие какое-то отношение к тому кто по ту сторону от монитора, и делаем к ним обращения - опять же в интересах того кто по ту сторону монитора, а не для себя самих. Приходится как-то обмениваться с ним данными и параметрами запроса, вот удивительно-то.


"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено penetrator , 20-Мрт-24 12:31 
> И в каком диалекте sql property у тебя может быть - параметром?
> И нет, не знают - это конкретные библиотеки должны знать.
> Да и зачем нужен этот костыль в современных ЯП чтобы собрать строку
> из частей - тоже неочевидно. От sql injections вопреки распространенным фантазиям
> - не защищает. Валидируйте юзерский инпут, блжд, а не надейтесь на
> костыли.

зачем мне в проперти, если нужен для value, а там все норм с параметрами


"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено нах. , 20-Мрт-24 12:47 
потому что в приведенном примере - помимо value еще и имя поля - тоже переменная.

Если ты будешь в одном месте подставлять эту переменную, а в другом отдельном - переменную для value - еще и двумя разными способами - код разумеется станет в десять раз понятнее и удобочитаемей. Нет.

Параметрические sql-конструкции - это просто костылик, причем пришедший из pl/sql
Если его тебе реализует (для него это может быть бесплатно) апи конкретной субд - пользуйся на здоровье, а зачем в синтаксис универсального языка-то такое тащить?


"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено Аноним , 20-Мрт-24 14:18 
> Если его тебе реализует (для него это может быть бесплатно) апи конкретной субд - пользуйся на здоровье, а зачем в синтаксис универсального языка-то такое тащить?

Пример иллюстрировал вообще-то интерполяцию строк, а не правильность построения SQL-запроса. Без SQL-специфичных слов интерполяция тоже работать будет. Чего ты на этом SQL зациклился, непонятно.

> Да и зачем нужен этот костыль в современных ЯП чтобы собрать строку из частей - тоже неочевидно

Если тебе неочевидно, для чего нужна интерполяция строк - тебе реально надо поднимать квалификацию.


"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено нах. , 20-Мрт-24 14:26 
> Пример иллюстрировал вообще-то интерполяцию строк

я не знаю что такое "интерполяция строк", но второй вариант примера создает java.sql.Statement (и подозреваю еще и кинет exception при попытке запихать в качестве value '""\; truncate table;')

действительно, причем тут sql?

И я отвечал людям, удивленно спрашивавшим - зачем оно им надо когда в самом sql-коннекторе почти всех типичных баз - есть подстановка параметров при исполнении запроса (и туда такое подставить не получится, а если и да - то эту ошибку надо свалить на авторов коннектора).


"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено Аноним , 20-Мрт-24 17:16 
> я не знаю что такое "интерполяция строк"

Ну, это то, что ты называешь "сборкой строки из частей".


> второй вариант примера создает java.sql.Statement

Нет, всё-таки java.lang.String. Пример всё-таки про то, что в Java 22 ввели новый метод интерполяции строк. В дополнении к уже имеющимся, но менее удобным, как, например, String.format(). А не про SQL. Хоть там в строке и есть SQL-специфичные слова.


"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено нах. , 20-Мрт-24 17:50 
> Нет, всё-таки java.lang.String.

да, похоже новость переписали на ходу. Тогда неинтересно.

И нет, переписали снова неправильно - так как у них сейчас (заскринил, чтобы не переписывали потихому: Statement query = """SELECT * FROM Person p
       WHERE p.\{property} = '\{value}'"""; // стало
)
- я не знаю что тут написано. По ссылке должно было быть String guery = STR. далее по тексту. Что такое Statement и где он определен? В "было" именно String.
А та фигня вернет даже не java.lang.String, а какой-то неведомый java.lang.StringTemplate and String does not implement StringTemplate так что оно вообще не скомпилируется.

(то что тут было изначально - можно, но этот обработчик SQL тебе предлагается написать как-нибудь самому, а из готового только STR и RAW, как я понял)


"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено Tron is Whistling , 20-Мрт-24 21:05 
Параметры ладно, куда (some SQL).EscapeString() дели, или это теперь типа нормально?

"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено нах. , 20-Мрт-24 21:20 
Его, оказывается, надо теперь самому имплементить - тогда будет работать (прозрачно!) почти так как написано в изначальном а не дважды уже отредактированном тексте новости.

Хошь эскейпинг пили, хошь што. А так как у них сейчас - вообще не будет работать.


"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено Аноним , 20-Мрт-24 03:20 
Не густо. Вот как надо:
https://devblogs.microsoft.com/dotnet/performance-improvemen.../

"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено Аноним , 20-Мрт-24 05:52 
>  void main() { ... }

Не прошло и 20 лет...

> Statement query = SQL."""SELECT * FROM Person p ... """

Омг, как это теперь развидеть?


"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено нах. , 20-Мрт-24 17:53 
>> Statement query = SQL."""SELECT * FROM Person p ... """
> Омг, как это теперь развидеть?

не ссы, подними глаза к тексту новости и удивись. Развиделось?!
Вот то-то же! Кто владеет прошлым тот владеет будущим.

Не запилили они метод SQL, померещилось.


"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено Аноним , 20-Мрт-24 08:02 
> Добавлена седьмая предварительная реализация API Vector

Седьмая Карл!
Сколько ещё можно?
Эта панама уже достала.


"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено BratishkaErik , 20-Мрт-24 12:12 
Странно, что тут не написано, но они зависят от реализации Project Valhalla, и пока он сам не выйдет из превью, Vector API тоже не выйдет:

> Alignment with Project Valhalla — The long-term goal of the Vector API is to leverage Project Valhalla's enhancements to the Java object model. Primarily this will mean changing the Vector API's current value-based classes to be value classes so that programs can work with value objects, i.e., class instances that lack object identity. Accordingly, the Vector API will incubate over multiple releases until the necessary features of Project Valhalla become available as preview features. Once these Valhalla features are available we will adapt the Vector API and implementation to use them and then promote the Vector API itself to a preview feature. For further details, see the sections on run-time compilation and future work.

Короче говоря, ждать придётся **как минимум** столько же, сколько value-классы из Project Valhalla.


"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено Аноним , 20-Мрт-24 10:01 
>Разработанная в рамках проекта OpenJDK эталонная реализация Java 22 полностью открыта под лицензией GPLv2

Что же они тогда с гуглами судились за использование частей java api в андроид, когда андроид тоже открытый?! Красношапка тоже чудит с лицензией, с одной стороны gpl, а пользоваться обновлениями нельзя из-за патентов в коде, который тоже содержит gpl.


"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено нах. , 20-Мрт-24 14:28 
>>Разработанная в рамках проекта OpenJDK эталонная реализация Java 22 полностью открыта под
> Что же они тогда с гуглами судились за использование частей java api

кто "они"? Владелец Java SE - орацл. И у нее ни разу не GPL (и вообще с 8.какойтоминорщины версии - оооочень стремная лицензия).


"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено MrAnderson , 20-Мрт-24 10:06 
Самый лучший язык для тех, кто любит ООП.

"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено Аноним , 20-Мрт-24 10:17 
Это C++

"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено Аноним , 20-Мрт-24 11:45 
…Худшее, что могло случиться с ООП. Язык, который успешно похерил саму концепцию.

"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено Аноним , 20-Мрт-24 11:53 
Так по иронии, другого-то, чтоб и ОО, и в машкоды без всяких языковых ВМ, и достаточно используемого, не видно. D, вроде, есть, но почти не летает.

"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено Аноним , 20-Мрт-24 12:23 
> Так по иронии, другого-то, чтоб и ОО, и в машкоды

В общем, ежики давились, но продолжали жрать кактус ООП :)

Понимаете ли, но ООП и машкоды - это 2 ортогональные сущности. ООП генерирует кучу ненужного машкода, нехило напрягая процесор, и тем способствует экологической катастрофе на Земле.

Я вам анекдот приведу старый, который вы по малолетству можете и не знать.
Страуструпа спрашивают:
- Можно ли на С++ писать системные вещи?
Страуструпа отвечает
- Можно - я тут намеднись на С++ написал DOS, она занимает всего 60 Мб.

ПС. шутка юмора в том, что настоящая MS DOS умещалась на дискету в 640 Кб.


"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено нах. , 20-Мрт-24 13:12 
>> Так по иронии, другого-то, чтоб и ОО, и в машкоды
> В общем, ежики давились, но продолжали жрать кактус ООП :)
> Понимаете ли, но ООП и машкоды - это 2 ортогональные сущности. ООП
> генерирует кучу ненужного машкода, нехило напрягая процесор,

эммм... ты конечно же можешь показать пример? Мы его прямо при тебе сунем в gcc и посмотрим на результат.

Вообще-то ООП генерить призван не ненужные машкоды, а очень даже нужные (и в случае cfront ныне покойного - даже не маш а вполне сишные коды) коды ЗА тебя. А так ты бы сам сидел и ляпал копипастой бойлерплейтный код, отличающийся от предыдущего тут типом параметра, а там вариацией его обработки, и так сто раз.

Если мы про "настоящий" ооп, c++ style, конечно. А кастрированный (без наследования) - вообще никакого "лишнего" кода генерить не может - что написано, то и генерит, в ровно одном экземпляре. Единственная ценность - защита от шаловливых ручек, не позволяющая все свести к fortran4 с COMMON блоком.

> Я вам анекдот приведу старый, который вы по малолетству можете и не

глупый.

А современный и умный - "я переписал на c++ msdos, попутно исправилась сама собой тонна ошибок, поскольку язык сильно уменьшил количество клацаний мной по клавиатуре, но есть один нюанс - она пока еще компилируется"

"Это верно. Это у вас получилась художественная правда", а не перепев глупостей.


"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено Аноним , 20-Мрт-24 14:07 
> Я вам анекдот приведу старый, который вы по малолетству можете и не знать.
> MS DOS умещалась на дискету в 640 Кб.

Если вы настолько старый, что такие анекдоты помните, надо бы ещё помнить, что последние версии DOS на дискетку ну никак не умещались, ни дистрибутив, ни тем более инсталлированная версия. А дискет в 640 КБ вообще не существовало в природе.

Ну и про С++ и машкод у вас примерно такого же уровня познания.


"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено Аноним , 20-Мрт-24 23:07 
Ну, расскажи нам про машиногенерацию шаблонов С++  (template). Посмеемся вместе над избыточностью кода. Люблю фанатиков за их упертость - не знают, что творят, прости их, Господи.

ПС. я абсолютно не против обращения на ты, и не надуваю от важности щек по поводу возраста. У меня есть внтренний оценщик, у которого С++ - мертворожденный был и останется. Даже Java лучше - но это на VM.  А так - modern C, Rust и ADA(Spark) мои фавориты. Хотя, вместо С хотелось бы что-то более современное, но пока нет, Zig - не тянет. А С++ - полнейший тупик, причем изначально.


"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено n00by , 21-Мрт-24 09:11 
> Ну, расскажи нам про машиногенерацию шаблонов С++  (template).

Рассказываю. Твой шаблон с подменой "мне" на "нам" обнуляет твой сарказм.

> Посмеемся вместе над избыточностью кода. Люблю фанатиков за их упертость
> - не знают, что творят, прости их, Господи.

В отличие от тебя, я смотрел этот код достаточно долго и внимательно, когда обеспечивал поддержку std::exception в ядре (бабах!). Покажи мне код, над которым можно смеяться.

Пока мне вот от этого фрагмента glibc так смешно, что хочется заплакать:

; Intel syntax
syscall         proc

arg_0           = qword ptr  8

                 mov     rax, rdi
                 mov     rdi, rsi
                 mov     rsi, rdx
                 mov     rdx, rcx
                 mov     r10, r8
                 mov     r8, r9
                 mov     r9, [rsp+arg_0]
                 syscall                 ; LINUX -
                 cmp     rax, 0FFFFFFFFFFFFF001h
                 jnb     short loc_103832
                 retn


"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено Аноним , 20-Мрт-24 14:40 
Поинтересуйся IDE для Borland C++ 3.x под DOS на чём написан был, анекдотчик ты наш.

"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено нах. , 20-Мрт-24 17:57 
> Поинтересуйся IDE для Borland C++ 3.x под DOS на чём написан был,
> анекдотчик ты наш.

на паскале же ж. На плюсах (не современных ни разу а на "си с классами") была турбовижн-c++ которая входила в (расширенный!) комплект его поставки, но сама ide вроде бы на паскалевской версии, как и у борланд паскаля. Судя по некоторым особенностям, которых в сишной не было.


"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено Аноним , 20-Мрт-24 14:44 
И да, в Wiring (C++ c гейшами) без проблем классы с виртаальными методами успешно помещаются в Ардуинку.

"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено нах. , 20-Мрт-24 18:01 
> И да, в Wiring (C++ c гейшами) без проблем классы с виртаальными

си с классами, не?
> методами успешно помещаются в Ардуинку.

блин, логично что пустое место успешно помещается в ардуинку.


"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено Golangdev , 21-Мрт-24 11:19 
> ООП генерирует кучу ненужного машкода, нехило напрягая процесор

я ужасную вещь скажу - если для твоего тостера/калькулятора/etc - то, что сгенерировал компилятор (как это применимо к джаве кстати, имея что компилируемое там бегает на JVM), так вот, то, что сгенерировал компилятор - является проблемой - так не используй джаву.

она не для этого. выбрось эту идею из головы. она для PC/серверов/смартфонов(с натяжкой в виде DEX/Dalvik)


"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено dannyD , 21-Мрт-24 23:17 
>>ПС. шутка юмора в том, что настоящая MS DOS умещалась на дискету в 640 Кб.

если мы говорим о DS/DD, то они были 360/720 кБ для 5.25", и 720 кБ для 3.5".

MS-DOS 5.0 была 6 дисков по 360 кБ.


"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено Аноним , 20-Мрт-24 14:10 
> Худшее, что могло случиться с ООП

Худшее, что могло случиться с Опеннетом. Неосилятор рассуждает "со знанием дела", перепечатывая чужие мысли.


"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено Аноним , 21-Мрт-24 02:48 
Вообще-то SmallTalk

"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено Аноним , 20-Мрт-24 11:46 
Только всякие JVM, CLR (.NET) и проч. лучшесть таких языков сводят на нет.

"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено Швондик , 20-Мрт-24 12:29 
a Android IDE 4.0 можно ли подключить к этой  Java SE 22 ?

"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено luid , 20-Мрт-24 12:41 
>> a Android IDE 4.0 можно ли подключить к этой  Java SE 22 ?

Можно. Подключайте.


"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено Швондик , 20-Мрт-24 20:01 
у меня тогда программки не собираются - ругаются на ошибки в Java

"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено нах. , 20-Мрт-24 22:44 
это опенсорсие - исправляй!

"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено Аноним , 22-Мрт-24 00:56 
Оно ещё живо? Java вообще используется в каких-нибудь новых проектах?

"Выпуск платформы Java SE 22 и открытой эталонной реализации ..."
Отправлено Аноним , 22-Мрт-24 14:07 
Унылый вброс какой-то 👎