После шести месяцев разработки компания Oracle выпустила платформу Java SE 21 (Java Platform, Standard Edition 21), в качестве эталонной реализации которой используется открытый проект OpenJDK. За исключением удаления некоторых устаревших возможностей в Java SE 21 сохранена обратная совместимость с прошлыми выпусками платформы Java - большинство ранее написанных Java-проектов без изменений будут работоспособны при запуске под управлением новой версии. Готовые для установки сборки Java SE 21 (JDK, JRE и Server JRE) подготовлены для Linux (x86_64, AArch64), Windows (x86_64) и macOS (x86_64, AArch64). Разработанная в рамках проекта OpenJDK эталонная реализация Java 21 полностью открыта под лицензией GPLv2 с исключениями GNU ClassPath, разрешающими динамическое связывание с коммерческими продуктами...Подробнее: https://www.opennet.ru/opennews/art.shtml?num=59787
спасибо редакции за качественную новостьпожелание: "Из новшеств Java 21 можно отметить" - вот тут каждое слово - ссылка, можно так не делать? - выберите главную и сделайте одну ссылку, читать это неудобно
уже предлагал админу делать обычные советские сноски [1][2][3][4][5], как это делается в той же википедии. Почему-то не послушал и продолжает оформлять каждую букву^W^W каждое слово как отдельную ссылку, что не имеет смысла с точки зрения того, как гипертекст задумывался дидами и как он воспринимается речевыми ридерами для слепых.
Почему-то не послушал и сделал нормально вот это новость.
про скринридеры - это аргумент
Нет.
Может доработать скринридеры?
Они такое вполне нормально читают. Как пользователь говорю.
Хорошо новость оформлена, автору спасибо.
Может теперь перестанет зависать постоянно. Почему жаваскрипт не зависает и даже исполняет код быстрее?
Да, еще и установка пакетов быстрее, сборка быстрее, и типы в JS есть, да
Можно мне в ваш альтернативно одаренный мир?
Ты для начала прогрей свои кеши.
Потому что непонятно о чем ты, о старте жабомашины?
На но жабоскрипт и создавали чтоб реакция была быстрее.
Очевидно, о рандомных фризах в рантайме, когда приложуха непредсказуемо уходит подумать на N-времени. Ты запускал жабу? Реально, у жабоскрипта такого нет.
Ты что-то путаешь. Жёсткие остановы были у Go пару тройку лет назад, но с тех пор перекроили сборщик мусора. У java остановы только когда жесткое запихивание в память забирание на пределе xmx есть, но делать так плохо. Потоковую обработку не зря придумали.Javascript по определению не может исполняться быстрее, ибо интерпретируемый.
Ты что-то путаешь. Это жава интерпретируемая, а жс -- аот/жит. Но дело не в этом. У жавы начинаются остановы как только появится достаточно данных в памяти, а не когда она кончится. У хороших приложений остановы не блокируют главный поток, но всё равно можно заметить замирания и лаги. А под нагрузкой всё вообще плохо.
Именно поэтому javascript используется во всех банках, биржах (наряду с c++), oh wait...
Легаси. V8 относительно недавно появился и уже легко задвигает жаву.
Динамически типизированный язык задвигает жаву в банках и биржах, клёвые сказки. Динамическую типизацию в жизни не возьмут в эту область, максимум TypeScript.
Если у тебя где-то тормозит сборщик мусора - возможно проблема в коде, потому что у меня на продакшене вполне себе около 45 микросервисов, половина из которых числодробилки с кучей данных и проблем не возникает, нужен какой-то пример, а то мы говорим о коне в вакууме - есть утверждение что что-то есть, а хрен ты его опровергнешь пока не увидишь конкретику.
JavaFX живая хоть?Кто видел, разрабатывал приложение на нем? Как оно?
Баги фиксят. Изредка прибавляют фичи - каплю в десятилетие.
Как оно... что?
У меня работает. Не могу сказать, что я вполне с ней счастлив, но остальные GUI для Java ещё хуже.
Кстати, классический Arduino IDE именно на JavaFX сделан...
а Android Studio 3.6 будет работать с OpenJDK 21 на Windows 7 или лучше использовать jdk-8u271-windows-i586.exe ?
На Windows XP попробуйте, расскажете.
на ХР нормально работает, только без ускорения для эмулятора
У джетбрейнс есть свой форк jre 21, щупал, когда оно на стадии RC было, вроде норм.
Я одного не понимаю а нельзя добавить освобождение памяти по освобождению указателя как в с++ unique_ptr ? В чем соль сборщика мусора ?
Те кто этого не понимают обычно уборкой мусора и занимаются
Плата за скорость разработки. У unique_ptr надо думать, кто будет владеть ссылкой, у shared_ptr проблема с производительностью и циклическими ссылками, а в Яве фигак-фигак и всё давно в продакшн, пока приплюснутые ещё морщат лоп.
>а в Яве фигак-фигак и всё давно в продакшн, пока приплюснутые ещё морщат лопмой юный друг, конечно же ты неправ в своих эпитетах "в жабби они фигак-фигак и в прод".
то что GC вынесен в JVM позволяет его не реализовывать в каждом проекте. т.е. жирный плюс - нет велосипединга. а GC и в целом JVM пишут монстрилы навроде шипилёва и им подобным мутантам, соответственно никакой там не фигак, а очень даже рокетсаенс ) уж в типичной команде приплюснутых сишников такого уровня (как разрабы JVM) нет и не будет даже в самых наэротических снах )))
Меньше думаешь об указателях, больше о бизнес логике.
В джаве нет указателей, а есть ссылки, что не одно и то же. Кроме того, для освобождения памяти по аналогии с тем, как это сделано в unique_ptr необходимо разбираться с владением этой ссылки и в итоге получится ещё один Rust. Соль сборщика мусора в том, что программисту не надо думать об освобождении памяти самостоятельно, а следует думать лишь о забывании или обнулении ссылок на неиспользуемые объекты. Кроме того сочетание ссылок и сборщика мусора позволяет эффективно бороться с фрагментацией памяти.
>Прекращена поддержка 32-разрядной платформы Windows.Не побоюсь этого слова, наконец-то.
Всё жиреет и жиреет. У нас все проекты на 8, есть 11. На 17 ниодного проекта пока, а тут уже 21. Хренофичи лепят как пирожки.
Вот смешняво будет когда ваши деды начнут выходить на пенсию и нужно будет нанимать молодняк. Начинайте собеседование сразу с "У нас 8я версия", чтоб не тратить время.
> На 17 ниодного проекта пока, а тут уже 21.ну вот начинайте миграцию с 8 сразу на 21 чо
Пока они мигрируют, там уже java 35 выйдет.
> начинайте миграциюЗачем если итак работает?
> Зачем если итак работает?Java 8 и 11 больше не поддерживаются - к ним нет или не будет (11) новых бесплатных обновлений. Серьёзные конторы не хотят сидеть на протухшей платформе и не хотят платить деньги за то, что долгое время получали на халяву.
И 8, и 11 поддерживаются и будет поддерживаться ещё с десяток лет как минимум. На них сейчас 90% работающих проектов.
Некоторые фреймворки и библиотеки ещё 17-ю не осилили, а ты ему сразу 21-ю предлагаешь. А всё почему? Потому что в джаву завезли старый и на самом деле никому ненужный долгострой - модули с его strong encapsulation. Они этот strong encapsulation малыми дозами вводят каждый релиз и то тут то там что-то отвеливается и его потом долго чинят.
> Некоторые фреймворки и библиотеки ещё 17-ю не осилили, а ты ему сразу
> 21-ю предлагаешь.например?
спринг осилил 21 жяву для всех живых веток, например
ADT и паттерн-матчинг - это совсем не хренофичи
Для этого Scala есть.
Хрено. Нормальным людям это не нужно. Оно слишком сложно.
Угу. А потом очередной log4j, который апстрим не будет фиксить патамучта нуигонафик эту вашу окаменелость - и?
Там же для слабонервных написано что 8ка до 2030 будет поддерживаться.
Можете еще 7 лет в криокамере сидеть.
> 8ка до 2030 будет поддерживатьсяБудут выходить лишь обновления безопасности. Поддержки как таковой не будет, она закончилась ещё в прошлом году. https://endoflife.date/java
Это oracle jdk. Полно других.
Не вижу смысла переходить с 8 на что-то другое. Слишком жирно, тормозно, много не нужного.
String Template мне не нравится совсем. Unnamed Patterns тоже уродливо выглядят.
Что конкретно не нравится в String Template?
Про то, что Loom aka Virtual threads стали procuction-ready(https://openjdk.org/jeps/444), а также про превью Structured concurrency(https://openjdk.org/jeps/453) ни слова.Ноаость слабовата.
Читайте внимательнее, про это в новости упомянуто:"Стабилизирована реализация виртуальных потоков, представляющих собой легковесные потоки, значительно упрощающие написание и сопровождение высокопроизводительных многопоточных приложений"
"Добавлен экспериментальный API для cтруктурированного параллелизма (Structured Concurrency), упрощающий разработку многопоточных приложений за счёт обработки нескольких задач, выполняемых в разных потоках, как единого блока."
Спасибо!
Угу, теперь ждём, когда Project Valhalla релизнется, в следующем году будет 10 лет с момента, когда выложили первые драфты по JEP-ам, связанным с вальхаллой.
Уже давно пора появится языку который вытеснит java так же как она когда-то потеснила С
> Уже давно пора появится языку который вытеснит java так же как она
> когда-то потеснила Сжабашники активно бегут в Go... спасу от них нет, не протолкнуться 😆
Это где они бегут? Gо приколен был только своей темой горутин, когда появился, после того как виртуальные появились в джаве, на гошной бойлерплейтной помойке, похожей на смесь Си с Питоном, пишут только изрядные копрофилы.
Пардоньте, "пишут" заменить на "будут писать"
Выбирают язык в основном архитекторы. Я сталкивался с тем что это как правило индусы. Так-что мне кажется что никто никуда не бежит куда хочет - им показывают направление или будут лапу сосать.
Язык выбирают не архитекторы, а всякого рода CTO и VP R&D. Ну и в нормальных компаниях архитекторы - это почти никогда не индусы, а люди, живущие примерно там же, где и основной костяк R&D. Вы наверное на галере для забугорной компании работаете, а это априори не есть хорошо.
> Это где они бегут?Ну вот я хочу уйти из Java backend в Go backend после 15 лет работы. Надоела вся эта декларативная магия современных Java фреймворков, хочется заниматься чистым кодом. А этой магией пусть мастурбируют такие люди как Женя Борисов и компания на jug.ru, которые в реальных проектах уже давно не участвуют.
Угу, а проверять на err=nil каждый вызов i/o функциональности как минимум и RAII через defer видимо очень читабельно. Даже в Rust подобное сделано правильнее. Чудовищный треш этот Go, спасибо что хоть спустя стопицот лет дженерики завезли. Правда на сравнении интерфейса с nil все равно можно подорваться до сих пор, лол.
Это гораздо лучше плясок с бубном вокруг декларативной магией в Spring Boot и прочих фрейморках.
Помню было время java как и flash стояли почти на каждом компе (ну flash точно на каждом) для запуска апплетов в браузере интернет эксплорер
И что в итоге стало? Как мы до такого дожили?
Флеш был распространеннее, без него смешные видео было не посмотреть. А теперь сам бразуер превратился в VM и он теперь один из способов дистрибуции кросплафторменных приложений (aka Single-page Application).
Java2me когда новая будет?
Никогда.