Различия между 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?
Royi Namir
JRE содержится в JDK, да. JDK - это комплект для разработки программного обеспечения (SDK).
jamesh 03
34

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

JavaBrazil
источник
27

JDK - это SDK для Java.

SDK расшифровывается как «Software Development Kit», инструмент разработчика, который позволяет писать код с большей легкостью, эффективностью и эффективностью. SDK доступны для разных языков. Они предоставляют множество API (интерфейсов прикладного программирования), которые упрощают работу программиста.

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

SDK для Java называется JDK, Java Development Kit. Таким образом, говоря SDK for Java, вы на самом деле имеете в виду JDK.

Предполагая, что вы новичок в Java, вы можете встретить еще один термин - JRE, сокращение от Java Runtime Environment. JRE - это то, что вам нужно, когда вы пытаетесь запустить программное обеспечение, написанное на Java.

Java - это независимый от платформы язык. JRE запускает JVM, виртуальную машину Java, которая позволяет запускать программное обеспечение на любой платформе, для которой доступна JVM.

Арнольд Лайшрам
источник
1
Уточните, пожалуйста, где JRE вписывается в вашу диаграмму?
vikramvi 07
JRE входит в состав JDK или может быть автономным в зависимости от того, что вы делаете. Это среда выполнения, поэтому, когда вы создаете приложение, оно входит в JDK, но когда вы просто запускаете приложение, оно автономно, и в этом случае эта диаграмма не имеет большого смысла.
raj240
Вы уверены, что jdk - это sdk java? Что касается java se, это могло быть правдой, но для java ee и java me я видел только SDK, предоставленные Oracle. Итак, вы действительно в этом уверены?
user12208242
изображение говорит со мной :)
Мохаммад
5

Взято из установщика SDK Java EE 6, показывает, что SDK 6 содержит помимо JDK:

Что содержит SDK 6, кроме JDK

Crenguta S
источник
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. Оба они означают одно и то же. Я думаю, что в Sun было принято PR-решение о переходе с JDK на Java SDK. Я думаю, что сейчас он вернулся к JDK.

Нихил Кашьяп
источник
1

На мой взгляд, в java нет разницы между JDK и SDK. Мы можем найти все инструменты разработки, а также средства в них обоих. это просто псевдоним, предоставленный солнцем.

Алок Кумар Саху
источник
1

Лучший пример для этого вопроса: SDK - Software Development Kit - Ex: Netbeans JDK - Java Development Kit (это компилятор Java). Без JDK мы не можем запускать Java-программы в SDK.

Тирумал
источник
1

Нет никакой разницы.

Пакет Java Software Development Kit (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 не имеет серверной JVM HotSpot, только клиентскую, JDK имеет и то, и другое, и насколько Я знаю, что все остальные ОС имеют как JDK, так и JRE. Реальная разница в том, что JDK содержит компилятор Java, то есть JDK позволяет вам компилировать и запускать Java из исходного кода, тогда как JRE позволяет запускать только байтовый код Java, то есть исходный код, который уже скомпилирован. И да, более новые версии включают в себя ряд дополнительных компонентов, таких как среда редактора NetBeans и база данных Java в памяти (derby / cloudscape), но они не являются обязательными.

Донал Тобин
источник