Відмінності між Oracle JDK і OpenJDK


700

ПРИМІТКА. Це питання з 2014 року. На Java 11 OpenJDK і Oracle JDK сходяться.

Чи є вирішальні відмінності між Oracle та OpenJDK?

Наприклад, чи збір сміття та інші параметри JVM однакові?

Чи працює GC по-різному між ними?


3
Це також може бути актуальним, якщо ви плануєте перейти з Oracle до OpenJDK, оскільки Oracle вже не безкоштовний. developers.redhat.com/blog/2018/11/05/…
Лев Уфімцев

Відповіді:


338

І OpenJDK, і Oracle JDK створені та підтримуються лише Oracle.

OpenJDK і Oracle JDK є реалізаціями тієї ж специфікації Java, яка передана TCK (Java Technology Certification Kit).

Більшість постачальників JDK написані поверх OpenJDK, зробивши декілька налаштувань [переважно для заміни ліцензованих фірмових частин / заміни на більш високопродуктивні елементи, які працюють лише на конкретних ОС] компонентів, не порушуючи сумісності TCK.

Багато виробників реалізували специфікацію Java та пройшли TCK. Наприклад, IBM J9, Azul Zulu, Azul Zing і Oracle JDK.

Майже кожен існуючий JDK походить від OpenJDK.

Як вважають багато хто, ліцензування - це зміна між JDK.

Починаючи з JDK 11 для доступу до довготривалої підтримки Oracle JDK / Java SE тепер буде потрібна комерційна ліцензія. Тепер вам слід звернути увагу на те, який JDK ви встановлюєте як Oracle JDK без підписки, може перестати працювати. джерело

Ref: Список віртуальних машин Java


13
Отже, ваше висловлювання, що openjdk є базовою лінією для всіх інших jdks, тільки що вони копіюють його, а потім налаштовують після власних специфікацій?
Карл Моррісон

24
Я спізнююсь на вечірку, але все одно попрошу. Що jdk приносить до таблиці, який openjdk не робить? Усі ці відповіді змушують openjdk звучати так, ніби він рівний або перевершений у всіх відношеннях, але якщо це так, чому Oracle навіть турбує підтримку jdk?
Кефка

@ Карл Моррісон Наскільки я знаю, .. всі, хто реалізує специфікацію JVM, роблять тільки так .., але немає явного правила, що треба йти цим шляхом ...
Venkateswara Rao

13
@ Mella OpenJDK <= OracleJDK Наприклад, у Oracle JDK встановлено кілька надійних ключів, яких не було у OpenJDK (Зараз днями люди просто імпортують їх, щоб заповнити цю прогалину) Oracle JDK має кілька бібліотек SWING, які є власником для прискорення візуалізації .. (Хто коли-небудь робить серверні програми, це може бути неактуально для них) Oracle JDK має плагін Applet (та сама причина, що працює вище). Oracle JDK-помилка / виправлення буде розповсюджуватися та оброблятися належним чином Oracle, оскільки як OpenJDK, це мало технічного забезпечення застосовуються патчі та який конфлікт у них виникне
Venkateswara Rao

Зауважте, що з новою моделлю версії для Java, Oracle планує максимально зменшити розрив між обома jdk. Чи є інші розробники з відкритим кодом для відкриття jdk, крім розробників Oracle? Це потрібно зрозуміти, чи буде достатньо підтримки, щоб підтримувати виправлення з останньої версії на попередню. Будь-які думки?
Енді Дуфресне

329

Для Java 7 нічого важливого. Проект OpenJDK здебільшого базується на вихідному коді HotSpot, подарованому Sun.

Більше того, OpenJDK був обраний для еталонної реалізації для Java 7 і підтримується інженерами Oracle.

Є більш детальна відповідь з 2012 року про різницю між JVM, JDK, JRE та OpenJDK , яка посилається на допис у блозі Oracle :

Питання : Яка різниця між вихідним кодом, знайденим у сховищі OpenJDK, і кодом, який ви використовуєте для складання Oracle JDK?

Відповідь : Це дуже близько - наш процес збирання для Oracle JDK випускає складання на OpenJDK 7, додаючи лише пару фрагментів, як код розгортання, який включає в себе реалізацію Oracle Java Plugin та Java WebStart Oracle, а також деякий третій закритий джерело сторонні компоненти, такі як графічний растризатор, деякі сторонні компоненти з відкритим кодом, такі як Rhino, і кілька біт і фрагментів тут і там, як додаткова документація або сторонні шрифти. Просуваючись вперед, наш намір полягає в тому, щоб відкрити вихідний код усіх фрагментів JDK Oracle, за винятком тих, які ми вважаємо комерційними функціями, такими як управління місією JRockit (ще не доступний в JDK Oracle), і замінити обтяжені сторонні компоненти компонентами з відкритим кодом для досягнення більш тісного паритету між базами коду.


42
Також існують ліцензійні відмінності.
mcoolive

9
дякую, я знайшов кращу відповідь. stackoverflow.com/questions/17360011 / ...
astroanu

9
Щонайменше, ці ARM принаймні ці два значно відрізняються за своєю ефективністю. Мені довелося б трохи проаналізувати, чому це відбувається, але суб'єктивна різниця - "Oracle JDK в порядку" і "OpenJDK абсолютно непридатний".
Датується

1
@deiled все-таки android переходить на openjdk, починаючи з android 7. Схоже, вони готують значні вдосконалення. venturebeat.com/2015/12/29/…
Johnny Doe

1
@JohnnyDoe Дозволяє сподіватися, що якщо Google перейде на OpenJDK, вони забезпечать виправлення продуктивних патчів, щоб він добре працював на ARM і поза Android!
протримався

95

Ключова відмінність в майбутньому - це графік випуску та політика підтримки.

OpenJDK

OpenJDK буде випускати функцію кожні 6 місяців, яка підтримується лише до наступного випуску функції. По суті це суцільний потік випусків, орієнтований на розробників.

Oracle JDK

JDK Oracle орієнтований більше на аудиторію підприємства, яка цінує стабільність. Він заснований на одному з випусків OpenJDK, але йому надається довгострокова підтримка (LTS). Oracle JDK має заплановані випуски кожні 3 роки.

введіть тут опис зображення

Джерело: https://www.oracle.com/java/java9-screencasts.html?bcid=5582439790001&playerType=single-social&size=events


3
Довгострокові випуски вимагають придбати комерційну підтримку, щоб отримати оновлення через 6 місяців після випуску Java. Яке значення мають довгострокові випуски порівняно з короткостроковими випусками? Чи короткострокові випуски, такі як JDK 9/10, не мають комерційної підтримки від Oracle?
Енді Дуфресне

@AndyDufresne, чому ви думаєте, що вам доведеться платити за підтримку лише через 6 місяців? Я розумію, що часова шкала - ТБД. 6 місяців здається надзвичайно коротким ... Я сумніваюся, що ми можемо очікувати публічних оновлень протягом 5 років, як, наприклад, Java 8 отримує, але я не здивуюсь, якщо б були публічні оновлення протягом 2 або 3 років. Довідка - це за посиланням: oracle.com/technetwork/java/eol-135779.html .
Кинджал Гілберта Аренаса

1
У посиланні Oracle згадується "Наприклад, випуск LTS для Oracle JDK 11 (18,9 LTS) підтримуватиметься принаймні 5 років, як описано в Політиці підтримки Oracle Lifetime Support". Політика має 3 рівні підтримки, жоден з них не виглядає безкоштовним. Також я згадую про це, переглядаючи коментар CZ azul тут - blog.takipi.com/java-11-will-include-more-than-just-features/… . Основна мета цієї нової стратегії випуску - не витрачати час на підтримку старих версій. Якби підтримка була вільною, модель була б такою ж, як і досі.
Енді Дуфресне

38

Для Java 8 , Oracle JDK проти OpenJDK я прийняв ключові відмінності:

  • OpenJDK - це реалізація платформи Java Standard Edition із відкритим кодом із внеском Oracle та відкритої спільноти Java.

  • OpenJDK випускається під ліцензією GPL v2, де Oracle JDK ліцензований відповідно до Ліцензійної угоди Oracle Binary Code.

  • Власне, процес збирання Oracle JDK будується з вихідного коду OpenJDK. Тож немає великої технічної різниці між Oracle JDK і OpenJDK. Крім базового коду, Oracle JDK включає в себе реалізацію Java Plugin та Java WebStart Oracle. Сюди також входять сторонні закриті джерела та компоненти з відкритим кодом, такі як графічний растризатор та Rhino відповідно. OpenJDK Font Renderer і Oracle JDK Flight Recorder - помітні основні відмінності між Oracle JDK і OpenJDK.

  • Rockit став JVM Oracle, а з Java SE 7 HotSpot та JRockit об'єдналися в єдиний JVM. Отже, у нас є лише об’єднаний JVM HotSpot.
  • Є випадки, коли люди стверджують, що у них виникли проблеми під час запуску OpenJDK, і це вирішили при переході на Oracle JDK.
  • У Twitter є свій JDK.
  • Таке програмне забезпечення, як Minecraft, очікує використання Oracle JDK. Насправді попереджає.

Повний список відмінностей див. У статті-джерелі: Oracle JDK vs OpenJDK та Java JDK Process Development


4
Для Android Studio це більше не відповідає дійсності: копія останнього OpenJDK поставляється в комплекті з Android Studio 2.2 і новішої версії, і це версія JDK, яку ми рекомендуємо використовувати для своїх проектів Android. Джерело: developer.android.com/studio/intro/studio-config#jdk
MKesper

«Програмне забезпечення, як Minecraft, очікує використання Oracle JDK. Насправді, попереджає ». Насправді в Ubuntu офіційний інсталятор Mojang .deb тягне в OpenJDK під час встановлення запуску.
Moilleadóir

29

JVM Oracle і OpenJDK однакові і мають однакові функції GC (як і в останніх версіях 10+). До управління Oracle OpenVDK JVM існували конкретні відмінності, які зробили старий Openjdk JVM майже непридатним у багатьох середовищах. Тепер JVM ті самі.

JDK, які включають JVM як частину комплекту, відрізняються графіком ліцензування, випуску та обслуговування та бібліотеками програмного забезпечення, що входять до JDK. Принципові відмінності для мене також означають речі, які змусили б код не працювати, якщо його немає. Не тільки ліцензування.

diff --brief -r openjdk oraclejdk

Принципово важливо, що наступні файли відсутня на додаток до ряду інших в JDK Linux (так що, якщо ви "заявили", що код не працює на OpenJDK і зробив це в OracleJDK, коли ви використовували javafx, тоді ви були правильні):

Only in jdk-10.0.1/bin: javapackager
Only in jdk-10.0.1/bin: javaws
Only in jdk-10.0.1/bin: jcontrol
Only in jdk-10.0.1/bin: jmc
Only in jdk-10.0.1/bin: jweblauncher
Only in jdk-10.0.1/lib: ant-javafx.jar
Only in jdk-10.0.1/lib: deploy
Only in jdk-10.0.1/lib: deploy.jar
Only in jdk-10.0.1/lib: desktop
Only in jdk-10.0.1/lib: fontconfig.bfc
Only in jdk-10.0.1/lib: fontconfig.properties.src
Only in jdk-10.0.1/lib: fontconfig.RedHat.6.bfc
Only in jdk-10.0.1/lib: fontconfig.RedHat.6.properties.src
Only in jdk-10.0.1/lib: fontconfig.SuSE.11.bfc
Only in jdk-10.0.1/lib: fontconfig.SuSE.11.properties.src
Only in jdk-10.0.1/lib: fonts
Only in jdk-10.0.1/lib: javafx.properties
Only in jdk-10.0.1/lib: javafx-swt.jar
Only in jdk-10.0.1/lib: java.jnlp.jar
Only in jdk-10.0.1/lib: javaws.jar
Only in jdk-10.0.1/lib: jdk.deploy.jar
Only in jdk-10.0.1/lib: jdk.javaws.jar
Only in jdk-10.0.1/lib: jdk.plugin.jar
Only in jdk-10.0.1/lib: jfr
Only in jdk-10.0.1/lib: libavplugin-53.so
Only in jdk-10.0.1/lib: libavplugin-54.so
Only in jdk-10.0.1/lib: libavplugin-55.so
Only in jdk-10.0.1/lib: libavplugin-56.so
Only in jdk-10.0.1/lib: libavplugin-57.so
Only in jdk-10.0.1/lib: libavplugin-ffmpeg-56.so
Only in jdk-10.0.1/lib: libavplugin-ffmpeg-57.so
Only in jdk-10.0.1/lib: libbci.so
Only in jdk-10.0.1/lib: libcmm.so
Only in jdk-10.0.1/lib: libdecora_sse.so
Only in jdk-10.0.1/lib: libdeploy.so
Only in jdk-10.0.1/lib: libfxplugins.so
Only in jdk-10.0.1/lib: libglassgtk2.so
Only in jdk-10.0.1/lib: libglassgtk3.so
Only in jdk-10.0.1/lib: libglass.so
Only in jdk-10.0.1/lib: libgstreamer-lite.so
Only in jdk-10.0.1/lib: libjavafx_font_freetype.so
Only in jdk-10.0.1/lib: libjavafx_font_pango.so
Only in jdk-10.0.1/lib: libjavafx_font.so
Only in jdk-10.0.1/lib: libjavafx_iio.so
Only in jdk-10.0.1/lib: libjfxmedia.so
Only in jdk-10.0.1/lib: libjfxwebkit.so
Only in jdk-10.0.1/lib: libnpjp2.so
Only in jdk-10.0.1/lib: libprism_common.so
Only in jdk-10.0.1/lib: libprism_es2.so
Only in jdk-10.0.1/lib: libprism_sw.so
Only in jdk-10.0.1/lib: librm.so
Only in jdk-10.0.1/lib: libt2k.so
Only in jdk-10.0.1/lib: locale
Only in jdk-10.0.1/lib: missioncontrol
Only in jdk-10.0.1/lib: oblique-fonts
Only in jdk-10.0.1/lib: plugin.jar
Only in jdk-10.0.1/lib: plugin-legacy.jar
Only in jdk-10.0.1/lib/security: blacklist
Only in jdk-10.0.1/lib/security: public_suffix_list.dat
Only in jdk-10.0.1/lib/security: trusted.libraries
Only in openjdk-10.0.1: man`

5
Дякуємо, що вказали на реальні відмінності: не працює код - це питання реального життя. Звідки ви базувались diff?
Матьє

19

За даними блогу oracle, Oracle JDK випускає для Java 11 та новіших версій

Починаючи з Java 11, Oracle надаватиме випуски JDK під відкритим кодом GNU General Public License v2, за винятком Classpath (GPLv2 + CPE) та під комерційну ліцензію для тих, хто використовує Oracle JDK як частину продукту чи послуги Oracle, або які не бажають використовувати програмне забезпечення з відкритим кодом. Це поєднання використання ліцензії з відкритим кодом та комерційної ліцензії замінює історичну ліцензію BCL , яка мала поєднання безкоштовних та платних комерційних умов.

Для кожної ліцензії будуть надаватися різні складання, але ці склади функціонально ідентичні, окрім деяких косметичних та упаковкових відмінностей, детально описаних нижче.

Від BCL до GPL

Ліцензія двійкового коду для Oracle Java SE технологій ( «BCL») є основною ліцензія на технологію Oracle Java SE протягом більше десяти років. BCL дозволяє використовувати без ліцензійних платежів за певних умов. Щоб спростити справи в майбутньому, Oracle почав надавати ліцензії OpenJDK з відкритим кодом, що і для Java 9, використовуючи ту ж ліцензійну модель, що і платформу Linux. Якщо ви звикли безкоштовно отримувати бінарні файли Oracle Java SE, ви можете просто продовжувати робити це за допомогою збірок OpenJDK Oracle, доступних на jdk.java.net . Якщо ви звикли отримувати бінарні файли Oracle Java SE як частину комерційного продукту чи послуги від Oracle, ви можете продовжувати отримувати випуски Oracle JDK через My Oracle Support (MOS) та інші місця.

Функціонально однакові та взаємозамінні ...

Ліцензована BCL JDK, що має ліцензію BCL, історично містила "комерційні особливості", які не були доступні у версіях OpenJDK. Як було пообіцяно , за останній рік Oracle внесли ці функції до спільноти OpenJDK, включаючи:

Таким чином, з Java 11 в майбутньому, Oracle JDK будує, а збірки OpenJDK будуть по суті ідентичними.

... все ж з деякими косметичними та упаковковими відмінностями

Залишається невелика кількість розбіжностей, деякі навмисні та косметичні, а деякі просто тому, що гарантовано більше часу для обговорення з учасниками OpenJDK.

  • Oracle JDK 11 надсилає попередження при використанні опції -XX: + UnlockCom CommercialFeatures, тоді як у OpenJDK будується ця опція призводить до помилки. Цей параметр ніколи не був частиною OpenJDK, і його не було б сенсу додавати зараз, оскільки комерційних особливостей у OpenJDK немає. Ця різниця залишається для того, щоб полегшити користувачам Oracle JDK 10 та більш ранніх версій перехід на Oracle JDK 11 та новіші версії.
  • Oracle JDK 11 можна налаштувати для надання даних журналу використання інструменту « Розширена консоль управління », який є окремим комерційним продуктом Oracle. Ми будемо працювати з іншими учасниками OpenJDK, щоб обговорити, як такі дані використання можуть бути корисними у OpenJDK у майбутніх випусках, якщо вони взагалі є. Ця різниця залишається насамперед для того, щоб забезпечити постійний досвід клієнтів Oracle до прийняття таких рішень.
  • Команда javac --release поводиться по-різному для цілей 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 (наприклад, Flight Recorder), або були вилучені з Oracle JDK 11 (наприклад, JNLP) .

  • Вихід команд java --version та java -fullversion відрізнятиме збірки Oracle JDK від збірок OpenJDK, так що команди підтримки можуть діагностувати будь-які проблеми, які можуть існувати. Зокрема, запуск java --version з Oracle JDK 11 збирає результати:

java 11 2018-09-25

Java (TM) SE Runtime Environment 18.9 (збірка 11 + 28)

64-бітний сервер VM 18.9 Java HotSpot (TM) (збірка 11 + 28, змішаний режим)

А для складання OpenJDK 11:

openjdk версія "11" 2018-09-25

OpenJDK середовище виконання 18.9 (збірка 11 + 28)

64-бітний сервер OpenJDK VM 18.9 (збірка 11 + 28, змішаний режим)

  • Oracle JDK завжди вимагав підписання сторонніми криптографічними провайдерами відомого сертифіката. Рамка криптографії у OpenJDK має відкритий криптографічний інтерфейс, тобто вона не обмежує, якими провайдерами можна користуватися. Oracle JDK 11 і надалі потребуватиме дійсної підписи, а збірки Oracle OpenJDK надалі дозволятимуть використання дійсного підпису або непідписаного стороннього постачальника криптовалют.
  • Oracle JDK 11 продовжить включати встановників, брендинг та упаковку JRE для досвіду, що відповідає старим настільним використання. Нарази Oracle OpenJDK наразі доступні у форматі zip та tar.gz, тоді як альтернативні формати розповсюдження розглядаються.

10

Перелік небагатьох відмінностей у косметиці та упаковці між Oracle JDK 11 та OpenJDK 11 можна знайти в цьому дописі в блозі:

https://blogs.oracle.com/java-platform-group/oracle-jdk-releases-for-java-11-and-later

Коротко:

  • Oracle JDK 11 надсилає попередження при використанні параметра -XX: + UnlockCom CommercialFeatures,
  • він може бути налаштований для надання даних журналу використання інструменту «Розширена консоль управління»,
  • він завжди вимагав підписати сторонніх криптографічних провайдерів відомим сертифікатом,
  • він продовжуватиме включати монтажників, брендинг та упаковку JRE,
  • в той час як команда javac --release поводиться дещо інакше для цілей Java 9 і Java 10, і
  • вихід команд java --version та java -fullversion відрізнятиме збірки Oracle JDK від збірок OpenJDK.

2
Я помітив, що більшість ваших відповідей мають підпис у них. Я їх відредагував. Будь ласка, прочитайте Чи заборонені позначки та підписи? та stackoverflow.com/help/behavior (зокрема розділ "Не використовуйте підписи, теги та привітання")
Марк Роттевель

7
  1. Oracle буде випускати релізи кожні три роки, а OpenJDK виходитиме кожні півроку.
  2. Oracle забезпечує довгострокову підтримку своїх випусків. З іншого боку, OpenJDK підтримує зміни до випуску лише до виходу наступної версії.
  3. Oracle JDK був ліцензований згідно ліцензійної угоди Oracle Binary Code, тоді як OpenJDK має Загальну публічну ліцензію GNU (GNU GPL) версії 2 за винятком посилання.
  4. Продукт Oracle має функцію реєстратора польотів, контролю місій Java та класу обміну даними додатків, в той час як OpenJDK має функцію «Шрифтовий рендер».
  5. Oracle JDK повністю розроблений корпорацією Oracle, тоді як OpenJDK розробляються Oracle, OpenJDK та спільнотою Java. Однак найкращі компанії, такі як Red Hat, Azul Systems, IBM, Apple Inc., SAP AG, також беруть активну участь у його розробці.

З Java 11 переходьте до великої зміни

Oracle змінить свою історичну ліцензію BCL комбінацією з відкритим кодом та комерційною ліцензією

  • Набір Oracle для Java 11 видає попередження при використанні опції -XX: + UnlockCom CommercialFeatures, тоді як у версії OpenJDK ця опція призводить до помилки
  • Oracle JDK пропонує конфігурацію для надання даних журналу використання інструменту «Розширена консоль управління»
  • Oracle завжди вимагав, щоб сторонні постачальники криптографічних даних були підписані відомим сертифікатом, в той час як рамка криптографії у OpenJDK має відкритий криптографічний інтерфейс, а це означає, що немає обмежень щодо того, якими постачальниками можна користуватися.
  • Oracle JDK 11 продовжуватиме включати інсталяторів, брендинг та упаковку JRE, тоді як версії OpenJDK зараз доступні як файли zip та tar.gz
  • Команда javac –release поводиться по-різному для цілей Java 9 та Java 10 через наявність деяких додаткових модулів у версії Oracle
  • Вихід команд java –version та java –fullversion відрізнятиме збірки Oracle від збірок OpenJDK


Оновлення: 25 серпня-2019



введіть тут опис зображення

для більш детальної інформації oracle-vs-openjdk



5

Крім очевидної різниці в ліцензуванні, основна відмінність між OpenJDK та OracleJDK 11 - це стабільність та оновлення продуктивності.

Джерело: https://www.youtube.com/watch?v=Adv9--6IcQI&t=385

Кожні 6 місяців дві бази коду будуть синхронізовані. Але протягом 6-місячного вікна OpenJDK отримуватиме лише оновлення безпеки, тоді як OracleJDK отримає додаткові оновлення стабільності та продуктивності.

Зважаючи на те, що оновлення випусків відбувається лише кожні 3 місяці для OpenJDK і OracleJDK, це означає, що ви не вистачаєте на (щонайбільше) виправлення на 3 місяці, поки не вийде наступний великий реліз, і ви оновите оновлення. Однак якщо ви вирішите дотримуватися випусків LTS, комерційна ліцензія починає мати більше сенсу.


3

Також для Java 8 було опубліковано цікавий орієнтир продуктивності для реактивного (не блокуючого) додатка Spring Boot REST, який розміщений на різних JVMs від технологій Blog Blog AMIS, який показує, що серед інших відмінностей:

  • OpenJDK має більш високе використання процесора, ніж OracleJDK,
  • OpenJDK має трохи менший час відгуку, ніж OracleJDK,
  • OpenJDK має більший обсяг пам'яті, ніж OracleJDK,

Для детальної інформації дивіться статтю-джерело.

Звичайно, YMMV, це лише один із орієнтирів.


3

Я розумію, що Oracle JDK не можна використовувати у виробництві, тому я не можу на законних підставах використовувати його (без оплати) для веб-додатків, які я будую для своєї компанії. Мені доводиться використовувати OpenJDK. Будь ласка, виправте мене, якщо я помиляюся! З цієї статті .

Починаючи з Java 11, Oracle JDK обмежується розробкою та тестуванням середовищ. JDK Oracle можуть використовуватися у виробництві лише у тому випадку, якщо ви купуєте комерційну підтримку. Натомість Oracle безкоштовно надаватиме Java-версії на основі OpenJDK, які можна використовувати у виробництві. Але для офіційного JDK Oracle справжня дорожня карта виглядатиме так:

ОНОВЛЕННЯ: Я помиляюся. Я можу користуватися Oracle JDK безкоштовно, але не оновлюю безпеку після 6 годин, і нам доведеться взяти на себе ризик. Подивіться вищезазначений розділ статті "Що означає новий поїзд для випуску для моєї компанії?".


Це більше не може бути правдою для JDK 13. Існує нова ліцензія на Oracle JDK, згідно Oracle: "Нова ліцензія дозволяє певні способи використання, такі як особисте використання та використання для розробки, без будь-яких витрат, але інші види, дозволені відповідно до Oracle попередні ліцензії Oracle JDK можуть більше не доступні ". Дивіться oracle.com/downloads/licenses/javase-license1.html .
А. Л. Фланаган

Просто хотіли знати, Поточний реліз oracle jdk8u241 безкоштовний для використання у виробництві?
Нірав Шах
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.