LINUX.ORG.RU

JDK 12

 , , , ,


1

2

Стала публично доступной образцовая реализация Java 12 — JDK 12. С момента выпуска сборки №33 (три недели назад) не замечено ошибок уровня P1; таким образом, она становится официальным публичным выпуском, готовым к промышленному использованию.

Сборки OpenJDK от Oracle с лицензией GPL доступны здесь. Скоро, несомненно, появятся сборки других реализаций.

В этот выпуск включено 8 предложений по улучшению (JEP):

  1. 189: Shenandoah: экспериментальный сборщик мусора с малым временем прерывания;
  2. 230: набор миниатюрных эталонных тестов.
  3. 325: switch-выражения (предварительно);
  4. 334: API констант JVM;
  5. 340: один порт на AArch64 вместо двух;
  6. 341: архив обмена данными классов (CDS) из классов по умолчанию;
  7. 344: прерываемые смешанные сборки мусора в G1;
  8. 346: быстрый возврат неиспользуемой памяти операционной системе в G1.

А также, как обычно — сотни мелких улучшений и тысячи исправлений.

>>> Источник

Ответ на: комментарий от xvostostrel

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

hobbit ★★★★★ ()
Ответ на: комментарий от hobbit

«торможаба» кажется уже уютным, быстрым и винтажным инструментом.

я бы не сказал, что js такой уж тормозной. какие-нить вычисления и тд — наверняка, но в целом жаба более тяжеловесная, «скриптик» на ней не запустишь.

anonymous ()

Уже JDK12... А на практике, 95% проектов, включая отчасти и новые используют JDK8. Я вот пробовал спрыгнуть с нее на десятку. И вот хрен! Очень много либ завязанных на 8 и что бы заставить например старый проект написанный на 8 работать на 10, нужно положить целый строй программистов.

Serbis ()
Ответ на: комментарий от anonymous

А кто говорил про js? Java она тормозная да, иногда даже очень, но есть два очень весомых момента, за которые ее используют чуть ли не везде в корпоративном секторе. Во первых это скорость разработки - в сравнении с сями она быстрее в три раза. Т е если взять двух человек, которые имеют одинаковый опыт на си и на джаве и поручить им идентичные по сути задачи, джавист закончит работу в три раза быстрее. Во вторых это скорость отладки, тут разница где-то раза в два. И короче идея вся в том, что стоимость человеческих ресурсов на поддержку и разработку много выше чем стоимость дополнительных мощностей на работу тормозной джавы.

Serbis ()
Ответ на: комментарий от loz

Есть смысл знать джаву на зубок + использовать то что по нравиться. Я например скалист, уже как два года все личные проекты пишу на ней. Но работу вот на этом языке хрен найдешь, поэтому и получается - Scala для самоудовлетворения, а Java для работы. С котлином мне кажется такая же бадяга.

Serbis ()
Ответ на: комментарий от Serbis

Есть смысл знать джаву на зубок

Интересно что под этим подразумевается? В языке фич я бы не сказал что много, ты включаешь сюда стандартная библиотеку, утилиты для сборки и тд?

loz ★★★★★ ()
Ответ на: комментарий от java_util_Random

Есть такое предположение... Меня например очень больно укусил тот факт, что java > 8 не имеет и не будет иметь поддержки arm7 и ниже. А это большой объем маломощных встраиваемых систем.

Serbis ()
Ответ на: комментарий от Serbis

а процентов 50 как крутились на 1.6 так и крутятся, в т.ч. проприетарные проекты(от оракла и далее). работает и х с ним.
им «эти» котлан/го подобие нафиг ненадо.
стабильно как говно мамонта - приняты на работу.

etwrq ★★★★ ()
Последнее исправление: etwrq (всего исправлений: 1)
Ответ на: комментарий от hobbit

В эпоху расцвета чего? )))
https://www.tiobe.com/tiobe-index/
JS «расцветает» уже 23 года, и с учетом того, что web сдал позиции мобильным приложениям (читай Android) - то угадай, агонию какого языка мы наблюдаем?

Про «торможабу» тоже насмешило...
Интересно почему практически все BigData решения написаны на Java и в редких случаях на Scala?

Hadoop, Hive, Spark, HBase, Cassandra, Kafka, DynamoDB - и как же так вышло, что все это работает на Java платформе?

Yilativs ★★★ ()
Последнее исправление: Yilativs (всего исправлений: 1)

кстати может сделать вилку 1.х и 2.х.
1.х для энтерпрайза - где всё стабильно
2.х для ньюфагохипстеров и прочих вебом/го/котлан ушибленым?

etwrq ★★★★ ()
Ответ на: комментарий от etwrq

уже сделали такую ветку,
у JVM есть LTS релизы, а есть для тех, кто пытается найти ответы, почему же он такой никакой программист в том, что в языке нет какой-то жизненно необходимой ему «фичи».

Yilativs ★★★ ()
Ответ на: комментарий от Serbis

не будет иметь поддержки arm7 и ниже. А это большой объем маломощных встраиваемых систем.

А оно было нужно? Там же 512 КБ памяти и это уже очень круто, куда там джаву пихать?

foror ★★★ ()
Ответ на: комментарий от loz

А есть сегодня смысл использовать джаву а не котлин по-дефолту?

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

foror ★★★ ()
Последнее исправление: foror (всего исправлений: 1)
Ответ на: комментарий от xvostostrel

Да вы батенька, прогульщик. Уже была эта новость на ЛОРеи был великий срач. Кто-то из форумчан даже похвалили топик за полноту оформления. Но новость оказалась скомунизженной с другого сайта, поэтому топик убрали. А сейчас, как всегда на Лоре, ублюдочное сообщение, над которым все начнут самоудовлетворяться :)

anonymous ()
Ответ на: комментарий от foror

Какой отношение память имеет к цпу? ОЗУ это отдельная микросхема. Семерка может адресовать до 4гб физической памяти, а виртуальной на порядки больше. ARM7 это комы подобные RaspberryPi Zero, OrangePi IOT и тому подобные. На RPI Zero 512 мб озу, этого количества достаточно для всего чего только можно вообразить в срезе JVM софта. А на практике 128 мб достаточно для запуска 99% программ написанных под JVM.

Serbis ()
Ответ на: комментарий от Legioner

А как она должна работать? Или ты хочешь несколько разных версий классов в одном класслоадере?

Разумеется в разных класслоадерах, как в OSGi. Просто для каждого модуля должен быть список зависимостей с их конкретными версиями. Список должен создаваться во время сборки. Изначально поддержку версий в Jigsaw хотели сделать но сильно перемудрили и получили NP-полную задачу разрешения версий. То, что я предлагаю на много проще.

bbk123 ★★★★★ ()
Ответ на: комментарий от bbk123

Не думаю, что это совместимо с популярными библиотеками. Я помню, как я ломал голову, почему одна строка не равна другой, хотя по символам совпадают. Оказалось, что разными класслоадерами загружены. А тут такое будет сплошь и рядом.

Legioner ★★★★★ ()
Ответ на: комментарий от Serbis

это комы подобные RaspberryPi Zero, OrangePi IOT и тому подобные

Ну так купите на armv8, куча решений в продаже. Я же говорил о микроконтроллерах.

foror ★★★ ()
Последнее исправление: foror (всего исправлений: 1)
Ответ на: комментарий от Legioner

Это позволит решить давнюю проблему коллизий версий в транзитивных зависимостях. По-хорошему объекты разных версий классов этих зависимостей не должны встречатья на более высоком уровне. В любом случае версии модулей были отменены вовсе не из-за проблем с разными класслоадерами.

bbk123 ★★★★★ ()
Ответ на: комментарий от DarkAmateur

Я думаю, IntelliJ так скоро этого не допустит.

Запихивание котлина в менюшки IDEA их не спасёт. Новая Java будет не на JVM. Эта платформа по сути легаси, тот кто изобретает на ней новый ЯП для 21 века сам себя загоняет в ловушку.

foror ★★★ ()
Ответ на: комментарий от Legioner

Да и вообще со времён 1.4 ничего интересного в джаве не появилось.

С точки зрения развития языка эпохальных версий было две: 1.5 и 1.8, где в первой завезли дженерики и аннотации, а во второй лямбды и сопутствующие им дефолтные методы в интерфейсах.

anonymous ()