Про версии oracle jdk 11+ (лицензирование и распространение)

Содержание:

Java Development Kit: что это?

Java SE Development Kit – это набор программного обеспечения, включающий в себя все инструменты, которые нужны программисту. Данный комплект состоит из следующих элементов:

  • Компилятор Java. Утилита, превращающая программы, написанные на Java, в машинный код.
  • Стандартные библиотеки классов Java. Набор готовых программных решений, которые можно использовать в своих разработках.
  • Исполнительная система, документация, образцы кода и пр.

Стоит подметить, что стандартный набор разработчика не содержит в себе текстового редактора. То есть перед тем как пользоваться языком Джава и писать код, необходимо загрузить и установить стороннюю программу-редактор. Если говорить о текстовых редакторах, то можно порекомендовать NotePad++. Писать код в данной утилите удобно, так как там есть подсветка синтаксиса. Однако лучше сразу скачать полноценную среду разработки (IDE). Я порекомендовал бы вам установить Eclipse или же NetBeans.

Amazon Corretto

Это новейшая из всех описанных опций. Corretto — бесплатная версия сборки OpenJDK с долгосрочной поддержкой, проходящая TCK. Она распространяется по стандартным условиям лицензирования всех версий OpenJDK: GPL + CE. Amazon создаст собственные патчи и запустят Corretto на AWS, так что он будет использоваться довольно активно (и уже добавлен в некоторые продукты). Поддержка Java 8 планируется по меньшей мере до июня 2023.

В процессе преобразования исходного OpenJDK в различные версии сборки производитель может добавлять различные утилиты или брендировать продукт, если это не препятствует сертификации (TCK). Например, нельзя добавить новый public-метод в API или новые языковые ресурсы.

Есть и другие реализации JDK, такие как IBM и SAPMachine. Однако эти версии сборки не так часто используются, поэтому они не упомянуты в этой статье. Более подробную информацию можно найти здесь и здесь.

Trails Covering the Basics

The Java Tutorial,
Sixth Edition

  • Getting Started — An
    introduction to Java technology and lessons on installing Java
    development software and using it to create a simple program.
  • Learning the Java Language
    — Lessons describing the essential concepts and features of
    the Java Programming Language.
  • Essential Java Classes
    — Lessons on exceptions, basic input/output, concurrency,
    regular expressions, and the platform environment.
  • Collections —
    Lessons on using and extending the Java Collections Framework.
  • Date-Time APIs — How to
    use the java.time pages to write date and time code.
  • Deployment — How to
    package applications and applets using JAR files, and deploy them
    using Java Web Start and Java Plug-in.
  • Preparation for Java
    Programming Language Certification — List of available
    training and tutorial resources.

OpenJDK Build от Oracle

Существует бесплатные не-брендовые версии OpenJDK, распространяемые по лицензии GPL с Classpath Extension (подходит для коммерческого применения). Эти версии сборки доступны только в течение 6 месяцев после релиза. Для Java 11 ожидается выход версии Java 11.0.0 и два security -патча, 11.0.1 и 11.0.2. Чтобы продолжать использование версии OpenJDK и его патчей от Oracle, необходимо перейти на Java 12 не позднее, чем через месяц после запуска

Обратите внимание, что порядок обеспечения security-патчей отличается от порядка предоставления поддержки, которая включает в себя оплату обработки отчетов об ошибках

Specialized Trails and Lessons

These trails and lessons are only available as web pages.

  • Custom Networking —
    An introduction to the Java platform’s powerful networking
    features.
  • The Extension Mechanism —
    How to make custom APIs available to all applications running on
    the Java platform.
  • Full-Screen Exclusive
    Mode API — How to write applications that more fully
    utilize the user’s graphics hardware.
  • Generics — An
    enhancement to the type system that supports operations on objects
    of various types while providing compile-time type safety. Note
    that this lesson is for advanced users. The Java Language trail contains a Generics lesson that is suitable for
    beginners.
  • Internationalization — An
    introduction to designing software so that it can be easily adapted
    (localized) to various languages and regions.
  • JavaBeans — The Java
    platform’s component technology.
  • JDBC Database Access —
    Introduces an API for connectivity between the Java applications
    and a wide range of databases and data sources.
  • JMX— Java Management
    Extensions provides a standard way of managing resources such as
    applications, devices, and services.
  • JNDI— Java Naming and
    Directory Interface enables accessing the Naming and Directory
    Service such as DNS and LDAP.
  • JAXP — Introduces the Java
    API for XML Processing (JAXP) technology.
  • JAXB — Introduces the Java
    architecture for XML Binding (JAXB) technology.
  • RMI — The Remote Method
    Invocation API allows an object to invoke methods of an object
    running on another Java Virtual Machine.
  • Reflection — An API that
    represents («reflects») the classes, interfaces, and objects in the
    current Java Virtual Machine.
  • Security — Java
    platform features that help protect applications from malicious
    software.
  • Sound — An API for playing
    sound data from applications.
  • 2D Graphics — How to display
    and print 2D graphics in applications.
  • Sockets Direct Protocol —
    How to enable the Sockets Direct Protocol to take advantage of
    InfiniBand.

Наиболее распространенные ошибки

Неопытные программисты, написавшие пару строчек кода, не могут скомпилировать его через SDK. Дело в том, что компилятор выбивает сообщения об ошибках. Корень проблемы кроется в переменных окружениях. Дело в том, что инсталлятор не настраивает их для корректной работы. Загрузчик возлагает эту задачу на плечи программиста. Поэтому производить настройки нужно вручную.

В первую очередь необходимо разобраться с переменной JAVA_HOME. Она указывает на директорию, в которой располагается JDK. Кроме этого, надо изменить переменную PATH. Она указывает ОС на список папок, в которых могут располагаться файлы для исполнения. Чтобы все работало корректно, необходимо в PATH добавить запись %JAVA_HOME%\bin.

Дабы настроить переменные надо сделать следующее:

  1. Откройте окно под названием «Свойства системы». С помощью горячего комбо Win + R откройте системную утилиту «Выполнить». Введите и запустите команду sysdm.cpl.
  2. Там перейдите во вкладку «Дополнительно». После этого кликните на «Переменные среды», которая находится в правом нижнем углу окна.
  3. В случае если в появившемся окне уже присутствует JAVA_HOME, то ее значение надо поменять. Если же переменной нет, то просто создайте новую. Как значение укажите адрес, куда установлена Джава.
  4. Определив JAVA_HOME, нужно изменить и значение PATH. Добавьте туда адрес, по которому располагаются файлы для исполнения Джава кода (%JAVA_HOME%\bin).

Примечание. Не удаляйте другие значения. Просто добавьте туда запись %JAVA_HOME%\bin.

  1. Подтвердите новые параметры, нажав клавишу «ОК».
Разработчик: Oracle Corporation
Операционная система: Windows 7, Windows 8, Windows 8.1, Windows 10, Linux, Mac OS
Язык программы: Русский
Лицензия: Бесплатно
Рейтинг:

… но с некоторыми косметическими и упаковочными различиям

  • Oracle JDK 11 выдаёт предупреждение при использовании опции , тогда как в OpenJDK эта опция приведёт к ошибке. Эта опция никогда не была частью OpenJDK, поэтому нет никакого смысла добавлять её, поскольку в OpenJDK нет коммерческих функций. Эта разница остаётся для того, чтобы пользователям Oralce JDK 10 или более ранних версий было проще перейти Oracle JDK 11 или более поздние версии.
  • Oracle JDK 11 может быть сконфигурирована для предоставления лог-данных в инструмент Advanced Management Console, являющимся отдельным коммерческим продуктом Oracle. Мы будем работать с другими контрибьюторами OpenJDK над вопросом необходимости предоставления таких данных и пользы от них в OpenJDK в будущих версиях. Эта разница остаётся прежде всего для сохранения накопленного опыта клиентами Oracle.
  • Команда ведёт себя по-разному для Java 9 и Java 10, поскольку в этих версиях Oracle JDK содержит некоторые дополнительные компоненты, которые не были частью соответствующих версий OpenJDK:
    • javafx.base
    • javafx.controls
    • javafx.fxml
    • javafx.graphics
    • javafx.media
    • javafx.web
    • java.jnlp
    • jdk.jfr
    • jdk.management.cmm
    • jdk.management.jfr
    • jdk.management.resource
    • jdk.packager.services
    • jdk.snmp

    Это отличие остаётся для сохранения совместимости в некоторых случаях легаси. Эти модули теперь либо доступны отдельно как часть OpenJFX, либо присутствуют в OpenJDK и в Oracle JDK, потому что они были коммерческими функциями, которые Oracle добавила в OpenJDK, либо были удалены из Oracle JDK 11 (например, JNLP).

  • Вывод команд и будет отличаться между сборками Oracle JDK и OpenJDK, чтобы команды поддержки могли диагностировать любые возникающие проблемы. В частности, запуск со сборкой Oracle JDK 11 выведет:
    И с OpenJDK 11:
  • Oracle JDK всегда требовал, чтобы сторонние криптографические провайдеры подписывались известным сертификатом. Криптография в OpenJDK имеет открытый интерфейс, это означает, что нет ограничения на используемый крипто-провайдер. Oracle JDK 11 будет продолжать требовать действительную подпись, а сборки OpenJDK будут по-прежнему разрешать использование стороннего крипто-провайдера как с действительной подписью, так и без подписи.
  • Oracle JDK 11 будет по-прежнему включать инсталляторы, брэндирование и JRE для совместимости с настольными легаси-приложениями. Сейчас сборки OpenJDK доступны в виде zip и tar.gz файлов, в то же время рассматриваются альтернативные форматы для распространения.
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *