Как стать автором
Обновить

Комментарии 23

У меня возникло чёткое ощущение, что я это уже читал (прямо здесь, на Хабре), только не до 16 версии, а до 14 или 15-ой. Дежавю?
Точно, как-то отфильтровалось. Спасибо.
record в 16 релизнулись

Соверщенно верно. Так и написано:


Записи и сопоставление с образцом


Обе функции теперь готовы к продакшн и больше не отмечены in preview.

что Интернет сошел с ума от множества статей, в которых говорилось, что «Java больше не является бесплатным»
Так она перестала быть бесплатной для коммерческого использования или нет?
Ведь только после ответа на этот вопрос, причем никак не нераскрытый в статье, можно принять взвешенное решение, а стоит ли вообще заморачиваться с Java.
Не перестала. Наоборот, стала ещё свободнее.
Oracle JDK с версии 8.хх(сколько-то, не помню 208 что-ли?) не является бесплатной не для персонального использования. Т.е. если у вас 200 десктопов в компании используют java для работы с неким приложением, и вы используете Oracle JDK, то должны отсйтёгивать Oracle.
Поэтому лучше устанавливать OpenJDK от adoptopenjdk.net однако там нет например 14-го релиза.

Используйте сборки bellsoft ( https://bell-sw.com/pages/downloads/ ) — там есть всё, что нужно, до сих пор поддерживается java 8, есть 11-я и все промежуточные версии. Всё бесплатно для любого использования, кому нужно — есть коммерческая поддержка.

Да, Liberica JDK — бесплатный, поддерживаемый и полностью открытый дистрибутив на основе OpenJDK, сертифицированный TCK на соответствие спецификации Java SE. Страница загрузки содержит сборки с открытым исходным кодом для Liberica JDK 8, 9, 10, 11, 12, 13, 14, 15 и 16, которые совместимы с Linux, Windows, Solaris, Alpine и macOS.

>она перестала быть бесплатной для коммерческого использования или нет?

Не перестала, если использовать НЕ оракловские сборки.
Это означает, что ваша программа Java 5 или 8 гарантированно будет работать с виртуальной машиной Java 8-16 — за некоторыми исключениями, о которых вам пока не нужно беспокоиться.


Вот как раз намедни не мог понять, почему программа перестала работать при переходе с 8 на 11. Вернее одна из библиотек spring, которая отвечает за всю эту магию с компонентами. Не скажу какая точно. Стала выбрасывать ConcurrentModificationException, вернее HashMap. Собственно баг был в библиотеке spring, но все равно, пока сообразишь. Конечно jvm не виновата, но вот софт не работал.
Строго говоря, такое вы можете словить даже на минорных версиях. Мы вот недавно словили при переходе с Oracle JDK 181 сборки на OpenJDK (сборки RedHat, тоже 8, билд примерно 225), что перестал работать snakeyml. Ну вот не читает он файлы .yml, и все тут — не находит класс, в который отображается. Так что да, гарантированно — это фигура речи. Все миграции в моей практике проходили с теми или иными проблемами, иногда мелкими, иногда покрупнее.
Интересно, есть какой ни будь ресурс который все такие проблемы миграции в одном месте сводит?
Как-же бьёт по глазам «автоматический» перевод. Хоть-бы корректора наняли
читайте оригинал
Aye-aye, Captain. Но тогда зачем это тут?

Единственное замечание — было бы очень круто увидеть примеры кода для 16й версии, как сделано с предыдущими. Конкретно — для


  • API стороннего компоновщика — превью
  • Записи и сопоставление с образцом
  • Запечатанные классы

Банально чтобы не мотаться по тексту туда-сюда.

НЛО прилетело и опубликовало эту надпись здесь
А что за yield result в java 14 switch?

Когда ветвь switch выражения имеет блок операторов, а не одно выражение, оператор yield внутри этого блока завершает оценку switch выражения, и значение в операторе yield становится значением switch выражения.

Поправьте очепятки в листингах, пожалуйста. В частности про Records.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории