JDK = Java SE && JDK! = Java EE? - PullRequest
       19

JDK = Java SE && JDK! = Java EE?

12 голосов
/ 08 января 2010

Пожалуйста, подтвердите вышеуказанное заявление?

Мне нужно знать, на что они ссылаются, когда упоминают JDK.

Ответы [ 7 ]

49 голосов
/ 08 января 2010

Java Development Kit - это способ, которым мы обычно обращаемся к набору инструментов для создания приложений Java, включая компилятор Java (для преобразования ваших исходных классов JAVA в файлы байт-кода .class), виртуальную машину Java (для выполнения этих файлов .class), инструмент JAR для ZIP-приложений (или их извлечения) и т. д.

Java Standard Edition обычно относится к базовым классам, составляющим основу большинства программ на Java, таким как API коллекций (List, Map, Set и т. Д.), Классам в Java. Пакет .lang, классы ввода-вывода, API Threading, пакеты и классы RMI, классы i18n (интернационализация), API JDBC и, конечно, классы AWT и Swing для создания приложений и апплетов для настольных компьютеров. Эти API являются основой всех других программ, которые вы можете писать «на Java», таких как IDE IntelliJ IDE, контейнеры сервлетов (например, Tomcat), RDBMS (например, Apache Derby) или пользовательских автономных клиентов, таких как SQuirreL. Эти классы вы получаете как часть JDK (просто взломайте файл src.zip прямо в вашей папке JDK и посмотрите, что вы там найдете :))

Java EE - это спецификация с под-спецификациями, которая в целом определяет набор сервисов, которые должны предоставлять реализации (такие как GlassFish или IBM WebSphere), чтобы соответствовать спецификации. Эти «реализации» представляют собой так называемые контейнеры Java EE. Когда вы слышите, как люди говорят, что «GlassFish - это реализация Java EE 1.6», они подразумевают, что GlassFish (Java-программа, написанная с использованием классов Java Standard Edition ) предоставляет все функции, которые определяют семейство спецификаций Java EE 6 .

Спецификации Java EE должны охватывать особые потребности в области разработки приложений "предприятия", такие как спецификация сервлета для обработки запроса-ответа HTTP, спецификация EJB для управления транзакциями и управления жизненным циклом компонента, Спецификация JMS для служб обмена сообщениями и так далее. Контейнеры Java EE (WebLogic, WebSphere, Tomcat) предоставляют фактические реализации этих спецификаций в виде классов. В чрезмерно упрощенном выражении эти контейнеры предоставляют JAR-файлы для API Java EE. Классы в этих файлах JAR используют основные классы Java SE. Я думаю, что это последнее предложение устанавливает связь между Java SE и Java EE.

Чтобы подвести итог, я бы сказал, что JDK - это просто набор программ, которые вы загружаете и выполняете для создания и выполнения ваших программ, «написанных на Java». Если у вас есть Java-программа, которая использует только «базовые классы» и не требует «корпоративных служб», вы выполняете Java-программу поверх JSE. Наконец, если вам нужно предоставить некоторые функциональные возможности и любая из реализаций спецификации Java EE покрывает любые ваши потребности, скажем, вам нужно обрабатывать HTTP-запросы; вы создаете компонент в соответствии со спецификацией (в данном случае сервлетом) и внедряете его в свой контейнер Java EE -Tomcat, например -.

Надеюсь, это поможет

9 голосов
/ 08 января 2010

Когда вы загружаете стандартный комплект разработчика Java, вы получаете стандартную версию Java (Java SE) в форме разработки (JDK). Среда выполнения Java (JRE) - это тот же набор библиотек и т. Д. Без инструментов разработки (компилятор и т. Д.)

Java EE - это набор дополнительных API / интерфейсов (и, как правило, некоторые их реализации). Это API-интерфейсы для веб-приложений, EJB-компонентов и т. Д. Вы можете использовать JDK для сборки, если у вас есть дополнительные API-интерфейсы и реализации. Чаще всего приложение Java EE запускается в приложении или веб-контейнере.

Обратите внимание (также), что до недавнего времени Java SE была известна как J2SE, а Java EE была известна как J2EE. Ситуацию еще больше смущает тот факт, что многие люди (особенно рекрутеры) путают J2EE с EJB (которые являются только одной из технологий в Java EE).

Ты не одинок в этом замешательстве. Я регулярно сталкиваюсь с опытными специалистами, которые не могут понять, что именно они означают, и Sun не помогает, представляя Java 2 v1.6 (или это Java 6?) И переименовывая J2EE в Java EE.

6 голосов
/ 08 января 2010

Используя приведенные выше определения, вы найдете JDK для Java SE (набор функций Java) и JDK для Java EE (функции в Java SE + некоторые «корпоративные» функции).

Java Standard Edition и Java Enterprise Edition являются определениями и API-интерфейсами языка Java, а JDK - это инструменты, необходимые для разработки чего-либо с использованием этих функций.

3 голосов
/ 08 января 2010

Чтобы быть более понятным

Java SE - Java Standard Edition, бывает двух версий: JDK и JRE. JDK имеет компилятор и другие инструменты.

Java EE - Java Enterprise Edition - это просто стандарт и пара библиотек, состоящих в основном только из интерфейсов. Несмотря на то, что существуют отдельные компоненты, которые можно загрузить для Java EE, в одиночку они имеют небольшую ценность (опять же, в основном просто интерфейсы) и обычно связаны с контейнером, который вы используете для развертывания или разработки приложений Java EE. Кроме того, Java EE включает в себя множество стандартов (JMS, JSF и т. Д.).

2 голосов
/ 08 января 2010

В целом, JDK относится к Java SE Development Kit. Вы также можете увидеть аббревиатуру на соответствующей странице загрузки , а не на странице для комплекта разработки Java EE или комплекта разработки Java ME.

0 голосов
/ 08 января 2010

JDK = Java Development Kit

Java SE = Java Standard Edition

Java EE = Java Enterprise Edition

0 голосов
/ 08 января 2010

JDK = комплект разработчика Java.

Java SE = стандартная версия Java (также известная как JRE)

Java EE = Java Enterprise Edition (также известный как J2EE)


Обновление: Sun не известна своими четкими соглашениями об именах (например, Java 1.5 и Java 5.0 - это одно и то же).

Это сводится к следующему: Если вы хотите запустить Java-приложения, перейдите на http://www.java.com и нажмите кнопку Скачать.

Если вы хотите написать Java-приложения, перейдите к http://developer.sun.com и просматривайте его, пока не найдете загрузку размером около 80 МБ, которая называется «JDK». Существует несколько разных версий JDK в зависимости от того, какие вещи вы разрабатываете (веб-приложения, консольные приложения и т. Д.).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...