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.

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

>>> Источник



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

По условиям лицензии Oracle JDK на халяву юзать коммерчески нельзя, да.

Ну вот же, мог бы больше и не объяснять, понятно почему теперь ЖАВА рип.

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

У меня было наоборот: из-за изоляции модулей перестали импортироваться некоторые зависимости. Только после отключения этой проверки флагом всё заработало.

Deleted
()

Когда же джава наконец умрет? Виртуальная машина, сборщик мусора, работающий через жопу, и самое худшее - объектные модели, сложные и в исполнении машиной, и в обучении (при том что задумывалась джава для «простоты»).

http://harmful.cat-v.org/software/java

http://harmful.cat-v.org/software/OO_programming/

metaprog
()

Залез на сайт, OpenJDK до сих пор is a trademark of Oracle America, Inc. («Oracle») (the «Trademark Owner»). Даже в отдельный проект не выделили с передачей tm, тфу.

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

В определённых случаях приходится делать именно так. Так как зависимости jar определить?

А зачем? Разве эту задачу не maven решает?

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

А зачем? Разве эту задачу не maven решает?

Я скачал условный library.jar с сети. Просто скачал. Как определить его зависимости?

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

Вот тебе ещё один вариант. Если создатель этого jar подразумевал его запуск через -jar, в MANIFEST.MF будет поле Class-Path, в котором будут как раз таки перечислены все зависимости.

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

Если создатель этого jar подразумевал

Часто «создатель» подразумевает?

Нет никакой практической необходимости хранить информацию о зависимостях

Исходя из этого, нечасто, верно?

Как определить зависимости любого jar?

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

Часто «создатель» подразумевает?

Не знаю. Я, лично, раньше так делал. Потом перестал, теперь я просто делаю стартовые скрипты, так удобней. java -cp "lib\*.jar" my.Main.

А, например, название Main класса ты почему не требуешь? Его тоже надо знать, чтобы запустить программу. И в общем случае ты его сможешь узнать только проанализировав байткод всех классов.

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

И в общем случае ты его сможешь узнать только проанализировав байткод всех классов.

Это ответ? Вроде как быстрый и элегантный способ? Правда?

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

Про систему зависимостей тебе уже сто раз написали. Тебе ответы не нравятся. Ну что тут поделаешь. Попробую аналогию провести, если ты в С разбираешься. Вот у меня есть .a библиотека. Какие у неё зависимости?

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

Какие у неё зависимости?

Никаких. Она же статическая. Она ничего не делает, пока не слинкована. А поэтому ни от чего не зависит. Это набор объектных файлов. Ваш же jar использует другие jar-ы. Так что аналогия никакая.

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

Почему никаких? Вот тебе пример, как создать библиотеку с зависимостью:

nether$ cat test.c
extern void g(void);

void f(void) {
  g();
}
nether$ cc -c test.c
nether$ ar rcs test.a test.o

и получится статическая библиотека test.a с какой-то зависимостью. Ну можешь скомпилировать динамически: cc -shared -o test.so test.o, получится динамически загружаемая библиотека с зависимостью, если тебя статическая смущает. jar-файл концептуально ничем не отличается от этой системы.

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

jar-файл концептуально ничем не отличается от этой системы.

Отличается тем, что он «shared», а не «static». Не заметил?

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

Вот у меня есть .a библиотека

Любая библиотека shared.

Внимательно прочитай мой пост.

Ну и гонево. Не запутался?

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

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

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

Да это какой-то дурачек, зачем на него тратить время и засорять тему?

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

почему практически все BigData решения написаны на Java

Есть гипотеза, что это вызвано избытком программерских ресурсов. Количество програмистов удваивалось раз в 3-4 года, Похоже мы выкормили их столько, что человечество может себе позволить 100500 разных реализаций одного и того же. Безотносительно жавы - почему-то нынче часто проще написать новое, чем выбрать из готового.

Вероятно жава оказалась там чуть раньше, ввиду значительной популярности, потому там и появилось «всё».

Второй вероятный фактор - обучение. Человеки склонны применять то, чему выучились. Нужно посмотреть программы кодерских курсов. Возможно, там не было адекватной альтернативы.

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

Вчерашняя девчуля была лучше. Верни или потрай еще!

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

Зеленый змий прекрасен. За ним будущее!

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

Да, только последний LTS ломает совместимость и с восьмерки на него просто так не перейдешь.

Я не слышал пока ни об одной проблеме, даже интересно, где ты их нашел?

Если перевод софта между двумя версиями
PHP, Python, JavaScript, Ruby или GO - как правило ад, то в Java мне с обратной совместимостью проблем встречать не приходилось, ни разу. Были даже случаи когда админы не включая мозг ставили последнюю JDK и какой-то отдел планируя переход на новую JDK узнавал, что они уже на нее «перешли» :-)

Можешь привести примеры популярных библиотек, которые просто так не завелись по jdk11 или примеры собственного кода, с котором пришлось повозиться при переводе?

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

Почему практически все ИИ написаны на пистончике

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

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

А что джава не удобна

Ты её щупал? Это едва ли не худшее, что случилось в программерском мире за последние ~30 лет. Да не самое худшее - где-то около 5го места. Даже в этом провал.

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

ОБС? А что джава не удобна, раз нет ее в ИИ практически.

ИМХО на питоне проще писать биндинги к сишным либам, в нативе вся математика, а питон оказался удобен для людей которые больше сайнс чем программисты.

А на жабе биг дата решения прямо на жабе и написаны.

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

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

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

Зря аву сменил с колоритной брю(на самом деле хорошо деваха сыграла гопницу) на полу-пидорга и всё из-за скучного дэбо-тролля. Пусть сц*ко байткодА декомпилирует декомпилятором и оттуда грепает зависимости.

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

Уже пейсал. А зачем вообще менять аву «из-за кого-то»? Не уверен в себе? Работа на публику?

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

Говорят получается 40 метров для Hello World с GUI.

Неплохо (нет)

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

Scala для самоудовлетворения

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

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

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

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

Кстати, у меня есть знакомый (мехмат МГУ, все дела, работает инженером в Боинге, то есть не тупой). Он однажды нажрался и вышел во двор трахать машины. «О, Лада девяточка, моя любимая!»

PS Да-да, кот_лампа.жпг

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

Да, на мехов это похоже. Во времена моего наймитства на заокеанских галерах, раьотал со мной парнишка. 2м рост. Закончил этот фак с красным дипломом. Роботал курьером 111 там же, по собственному желанию. Такие времена.

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

Такого нет.

Есть, в манифест можно урлы зависимостей прописать и jre все скачает. С введением модулей так вообще добавили ровно то чего zvezdochiot хочет

maloi ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.