ТЛ; др
Если вы конечный пользователь, которому нужна бесплатная JVM для запуска Java-приложения на вашем Mac (а не разработчик ), моя личная рекомендация - загрузить .DMG
( файл образа диска Apple ) из Azul Systems для их Zulu
реализации. Java JDK . По желанию, они предоставляют поддержку за плату.
https://www.azul.com/downloads/zulu/
Затем вы найдете JVM, установленную в /Library/Java/JavaVirtualMachines
. Позже вы можете выполнить обновление таким же образом, удалив старую JVM из этой папки.
подробности
Да, в последние годы в эволюцию Java было внесено несколько серьезных изменений, и они могут быть немного запутанными.
Несколько поставщиков, как бесплатных, так и платных
Во-первых, знайте, что для желающих заплатить за коммерчески поддерживаемые реализации Java доступны новые опции. И знайте, что Java по-прежнему доступна бесплатно без каких-либо затрат. Как для краткого изложения, так и для подробностей, прочитайте этот официальный документ, опубликованный основными фигурами в сообществе Java : Java все еще бесплатна
OpenJDK
Во-вторых, знайте, что все выпуски для Java 11 и более поздних версий для macOS основаны на одной и той же кодовой базе, проекте с открытым исходным кодом, известном как OpenJDK .
Apple вносит в этот проект специфичный для Mac код, и у него есть персонал, работающий над этим, чтобы убедиться, что Java продолжает хорошо работать на macOS.
IBM, Oracle и многие другие компании также внесли свой вклад в разработку кода и тестирование. Oracle недавно объявила о своем намерении достичь функционального паритета между собственными выпусками Java под маркой Oracle и продуктом OpenJDK; это даже включало пожертвование некоторых их ранее коммерческих инструментов, таких как Flight Recorder, для OpenJDK.
В результате вы должны увидеть очень похожее поведение и функции в различных источниках Java для macOS.
JVM, встроенная в настольные приложения
Если вы делаете настольные приложения для локального запуска на Mac или другом компьютере, вы можете продолжать делать это и продолжать использовать Swing и / или JavaFX как всегда. Но доставка вашего приложения изменится.
Технологии Java Applet и Java Web Start постепенно сокращаются. Oracle больше не будет поощрять конечных пользователей устанавливать JVM самостоятельно. Вместо этого Oracle рекомендует создавать ваше приложение в виде отдельного исполняемого файла с JVM, встроенным в него. Обычно это делается на Mac, особенно если вы поставляете приложение через Apple App Store . Этот подход является новым нормой, который должен быть реализован на всех платформах, включая macOS, Windows, Linux и т. Д. Новаятехнология Java Modularization , начавшаяся с Java 9, включаяинструменты jlink и jpackage , упрощает, как никогда ранее , объединение размер JVM с вашим приложением.
Для получения дополнительной информации см. Технический документ Обновление карты клиента Java от 2018-03.
Таким образом, в целях связывания с вашим приложением вам нужно будет учитывать права на перераспределение / развертывание при выборе поставщика и продукта JVM.
Выбор продавца
Некоторые основные поставщики Java для Java 11 и более поздних версий:
- Azul Systems
Предлагая две линейки продуктов, Zulu, основанный непосредственно на OpenJDK с возможными изменениями, и Zing специально усовершенствованную версию платформы Java.
- Oracle
Предлагает собственный коммерческий продукт Oracle JDK и довольно похожий бесплатный и лицензированный по лицензии GPL jdk.java.net .
- AdoptOpenJDK.net
Предлагает бесплатные сборки Java на основе OpenJDK. Выберите между обычным движком HotSpot (компилятор и оптимизатор точно в срок) или движком OpenJ9 от Eclipse (ранее от IBM).
Вот диаграмма-схема, которая может помочь при принятии решений. Этот график не обязательно является полным или точным. Это просто, чтобы помочь вам ориентироваться. Вы должны изучить ваши варианты.