Відмінності між JDK та Java SDK


85

Чи є якась істотна різниця між цими двома термінами ?. Я розумію, що JDK розшифровується як Java Development Kit, що є підмножиною SDK (Software Development Kit). Але вказуючи Java SDK, це повинно означати те саме, що і JDK.

Відповіді:


97

З цієї статті у Вікіпедії :

JDK - це підмножина того, що в загальному розумінні визначено як комплект для розробки програмного забезпечення (SDK). В описах, що додаються до їх останніх випусків для Java SE, EE та ME, Sun визнає, що за їхньою термінологією JDK формує підмножину SDK, яка відповідає за написання та запуск програм Java. Решта SDK складається з додаткового програмного забезпечення, такого як сервери додатків, налагоджувачі та документація.

Здається, "додатковим програмним забезпеченням" є Glassfish, MySQL та NetBeans. Ця сторінка дає порівняння різних пакетів, які ви можете отримати для Java EE SDK.


Чи містить SDK (!) У своєму пакеті - "пакет" JDK?
Рої Намір,

JRE міститься в JDK, так. JDK - це комплект для розробки програмного забезпечення (SDK).
jamesh

33

Так, є різниця між SDK та JDK. Більшість людей забувають, що платформа Java використовується не лише для розробки програм мовою Java. JVM також підтримує деякі інші мови. Таким чином, даючи зрозуміти, SDK є загальним пакетом програмного забезпечення, яке підтримує створення програмного забезпечення на різних мовах, таких як Clojure, Groovy, Scala, JRuby та ін. JDK - це спеціальний пакет для розробки програмного забезпечення на мові Java, що містить усі стандартні API Java для цього. (Сподіваюсь, я це добре пояснив, оскільки фактично не розмовляю англійською мовою)


25

JDK - це SDK для Java.

SDK розшифровується як "Software Development Kit", інструмент для розробників, який дозволяє писати код з більшою простотою, ефективністю та ефективністю. SDK поставляються для різних мов. Вони забезпечують безліч API (інтерфейсів програмування програм), що полегшує роботу програміста.

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

SDK для Java називається JDK, Java Development Kit. Отже, кажучи SDK для Java, ви насправді маєте на увазі JDK.

Якщо припустити, що ви новачок у Java, ви зустрінете ще один термін - JRE, скорочення від Java Runtime Environment. JRE - це те, що вам потрібно, коли ви намагаєтесь запустити програмне забезпечення, написане на Java.

Java - це незалежна від платформи мова. JRE запускає JVM, віртуальну машину Java, що дозволяє запускати програмне забезпечення на будь-якій платформі, для якої доступна JVM.


1
Будь ласка, поясніть, де JRE вміщується на вашій схемі?
vikramvi

JRE добре входить в JDK, або він може бути автономним, залежно від того, що ви робите. Це час виконання, тому, коли ви створюєте програму, вона потрапляє всередину JDK, але коли ви просто запускаєте програму, вона окрема, і в цьому випадку ця діаграма не має особливого сенсу.
raj240,

Ви впевнені, що jdk - це sdk Java? Враховуючи java se, це може бути правдою, але для java ee та java me я бачив лише SDK, надані Oracle. Отже, ви насправді впевнені в цьому?
user12208242


3

Сонцю просто подобається змінювати назви речей без видимих ​​причин. Подивіться на три різні схеми нумерації для SunOS / Solaris або дві схеми нумерації для Java. Це Java 1.6, Java 2 версії 6 чи Java 6?


3

JDK (Java Development Kit) - це SDK (Software Dev Kit).

Він використовується для побудови програмного забезпечення / програм на Java, і, звичайно, він включає JRE (Java Runtime Edition) для запуску цього програмного забезпечення. Якщо ви просто хочете запустити програму Java, завантажте лише JRE.

До речі, Java EE (Enterprise Edition) містить бібліотеки пакетів класів "з методами (функціями)" для побудови програм для середовища WEB та Java ME (Micro Edition) для мобільних пристроїв. Якщо вас це цікавить (Java ME), я б порекомендував поглянути на Android DevKit та API Google.

Погляньте тут: це пояснить трохи більше ... http://www.oracle.com/technetwork/java/archive-139210.html


2

JDK поставляється з колекцією інструментів, які використовуються для розробки та запуску програм Java ,

Вони включають:

  1. appletviewer (для перегляду аплетів Java)

  2. javac (компілятор Java)

  3. java (перекладач Java)

  4. javap (розбірник Java)

  5. javah (для заголовних файлів C)

  6. javadoc (для створення HTML-документів)

  7. jdb (налагоджувач Java)

У той час як SDK постачається з багатьма іншими інструментами, включаючи інструменти, доступні в JDK.

http://parvindersingh.webs.com/apps/forums/topics/show/8853125-solved-java-difference-between-jdk-and-sdk-


1

Немає різниці між JDK та Java SDK. Обидва вони означають одне і те ж. Я думаю, це було PR-рішення Sun про перехід з JDK на Java SDK. Я думаю, що це повернулося до JDK.


1

На мій погляд, немає різниці між JDK та SDK у Java. В обох ми можемо знайти всі засоби розробки, а також засоби. це просто псевдонім, який надає сонце.


1

Найкращий приклад цього запитання - SDK - Набір для розробки програмного забезпечення - Приклад: Netbeans JDK - Набір для розробки Java (це компілятор Java). Без JDK ми не можемо запускати програми Java у SDK.


1

Різниці немає.

Комплект розробки програмного забезпечення для Java (Java SDK) раніше називався Java Development Kit (JDK), перш ніж відділ маркетингу в Sun зійшов з розуму від "tm" та термінології. З політичних міркувань та осудності вони називають значущі імена (jdk) та версії (1.2 / 1.3 / 1.4 1.5 / 1.6) термінами "інженерні". Маркетингові терміни - це "платформа Java2" (вона ж jdk 1.2 до 1.4) або Java5 (вона ж jdk 1.5) або Java6 (вона ж jdk1.6). У мене болить голова, просто думаючи про це.


0

Я думаю, що jdk має певні особливості, які можна використовувати разом із певним фреймворком. Ну назвіть це SDK в цілому.

Як і Android або Blackberry, обидва використовують java разом із їх фреймворком.


-1

Я спочатку припустив, що Java SDK призначений для побудови JVM, тоді як JDK - для створення додатків для JVM.

Редагувати: хоча наразі це виглядає неправильно. Sun перебуває в процесі відкритої роботи з JVM (можливо, вони навіть закінчили, зараз), тому я не буду надто здивований, якщо моя відповідь справді стане правильною ... Але на даний момент SDK та JDK - це одне і те ж.


Вибачте, що ви маєте на увазі під побудовою JVM?
Хуан Карлос Бланко Мартінес

Програми Java працюють у віртуальній машині Java. Частина JRE, яка відкрита для загального користування, тому Java SDK буде корисним для людей для створення JRE для своїх платформ.
Олі

Вибачте, звідки ви взяли це твердження (Java SDK було б корисно для людей для створення JRE для своїх платформ)? Я думаю, що або я вас не розумію, або це не є ціллю Java SDK. Java SDK формується JRE та деякими інструментами, такими як Javac, javap, javadoc ...
Хуан Карлос Бланко Мартінес

-1

Є два продукти JavaSE та JavaEE. EE - це веб-додаток / корпоративне видання, яке дозволяє розробляти та запускати веб-додаток. SE - це звичайний продукт Java, який не має специфіки EE, але є підмножиною EE. SE буває двох типів - JDK та JRE.

Є одна велика різниця, яка може бути не очевидною, і я не впевнений, чи стосується вона всіх операційних систем, але під Windows JRE не має сервера HotSpot JVM, а лише клієнтський, JDK має і те, і інше. Я знаю, що всі інші ОС мають як для JDK, так і для JRE. Справжня різниця полягає в тому, що JDK містить компілятор Java, тобто JDK дозволяє компілювати та запускати Java з вихідного коду, де як JRE дозволяє лише запуск байт-коду Java, тобто джерела, яке вже було скомпільовано. Так, новіші версії об’єднують ряд додаткових компонентів, таких як середовище редактора NetBeans та Java у базі даних пам'яті (derby / cloudscape), але вони не є обов’язковими.

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