Что такое JDK? Введение в Java Development Kit

Java Development Kit (JDK) является одним из трех основных технологических пакетов, используемых в программировании на Java, наряду с JVM (виртуальная машина Java) и JRE (среда выполнения Java). Важно различать эти три технологии, а также понимать, как они связаны:

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

Разработчики, плохо знакомые с Java, часто путают Java Development Kit и Java Runtime Environment. Различие в том, что JDK - это пакет инструментов для разработки программного обеспечения на основе Java, тогда как JRE - это пакет инструментов для запуска кода Java.

JRE может использоваться как отдельный компонент для простого запуска программ Java, но он также является частью JDK. JDK требует JRE, потому что запуск программ Java является частью их разработки.

На рисунке 1 показано, как JDK вписывается в жизненный цикл разработки приложений Java.

Мэтью Тайсон

Так же, как мы сделали с моим недавним введением в виртуальную машину Java, давайте рассмотрим технические и повседневные определения JDK:

  • Техническое определение: JDK - это реализация спецификации платформы Java, включая библиотеки компилятора и классов.
  • Повседневное определение: JDK - это программный пакет, который вы загружаете для создания приложений на основе Java.

JDK и компилятор Java

В дополнение к JRE, которая представляет собой среду, используемую для запуска приложений Java, каждый JDK содержит компилятор Java. Компилятор это программа способна принимать сырые .java файлов - которые обычный текст - и делают их в исполняемые файлы .class. Скоро мы увидим компилятор в действии. Сначала я покажу вам, как загрузить и настроить JDK в вашей среде разработки.

Начать работу с JDK

Установить Java в среду разработки так же просто, как загрузить JDK и добавить его в путь к классам. Когда вы загружаете JDK, вам нужно будет выбрать версию Java, которую вы хотите использовать. Java 8 - это наиболее часто используемая версия, но на момент написания этой статьи Java 11 является выпуском с долгосрочной поддержкой (LTS). Java поддерживает обратную совместимость, поэтому мы просто загрузим последнюю версию.

Пакеты JDK

Помимо выбора версии Java, вам также потребуется выбрать пакет Java. Пакеты - это наборы для разработки Java, предназначенные для различных типов разработки. Доступные пакеты: Java Enterprise Edition (Java EE), Java Standard Edition (Java SE) и Java Mobile Edition (Java ME).

Иногда начинающие разработчики не уверены, какой пакет подходит для их проекта. Как правило, каждая версия JDK содержит Java SE. Если вы загрузите Java EE или Java ME, вы получите стандартную версию с ним. Например, Jave EE - это стандартная платформа с дополнительными инструментами, полезными для разработки корпоративных приложений, таких как Enterprise JavaBeans или поддержка реляционного сопоставления объектов.

Также несложно переключиться на другой JDK в будущем, если вам это понадобится. Не слишком беспокойтесь о выборе правильной версии Java и пакета JDK, когда вы только начинаете.

Совместимость версий JDK

Поскольку JDK предоставляет компилятор для ваших программ Java, JDK, который вы используете, определяет, в какой версии Java вы можете кодировать. Например, если вы хотите использовать новые функции функционального программирования, имеющиеся в Java 8 (например, лямбда-оператор стрелки) , то для компиляции вам понадобится как минимум Java 8 JDK. В противном случае javacкоманда отклонит код с синтаксической ошибкой.

Загрузите JDK

В этом руководстве мы будем придерживаться Java SE, чтобы сосредоточиться на основных классах и технологиях JDK. Чтобы загрузить Java SE JDK, посетите официальную страницу загрузки Oracle. Вы увидите различные доступные пакеты JDK, как показано на рисунке 2.

Мэтью Тайсон

Прежде чем выбрать загрузку Java SE, уделите минуту другим параметрам. На кухне Java много готовят!

О Java EE

Вы загрузили бы Java EE JDK, если бы в первую очередь интересовались созданием веб-приложений на основе Java. Java EE JDK включает спецификацию Java Servlet, которая поддерживает обработку HTTP-запросов. Для каждой реализации Java EE JDK также требуется контейнер , который представляет собой сервер, на котором выполняются приложения Java EE. Glassfish - это эталонная реализация сервера Java EE для Oracle. Другие популярные реализации - Tomcat и Jetty.

А пока скачайте Java Standard Edition JDK.

Установка JDK

Когда вы запускаете установщик JDK, вам предлагается выбор из трех компонентов: инструменты разработки , исходный код и общедоступная JRE . Вы можете установить один или все из них. В этом случае просто выберите значение по умолчанию.

Установка опции «Средства разработки» дает вам правильный JDK. Установка «Исходный код» содержит исходные коды для общедоступных классов в ядре Java API. Включение этой опции позволяет вам ссылаться на исходный код при создании приложений. Третий вариант, «общедоступная JRE», свидетельствует о том, что JDK и JRE являются отдельными сущностями: общедоступная JRE может использоваться другими программами для выполнения программ Java и может быть установлена ​​отдельно от JDK.

Установите все три компонента и примите значения по умолчанию для каждого из них. Это означает, что JDK и JRE будут установлены в местах по умолчанию для вашей операционной системы. В Windows это C: \ Program Files \ Java , как показано на рисунке 3.

Мэтью Тайсон

JDK в командной строке

Установка JDK и JRE добавляет javaкоманду в вашу командную строку. Вы можете проверить это, перейдя в командную оболочку и набрав java -version, что должно вернуть установленную вами версию Java. (В некоторых случаях вам придется перезапустить вашу систему, чтобы это изменение вашего системного пути полностью вступило в силу.)

Хорошо, что javaустановили, а как же javac? Этот элемент JDK понадобится вам для компиляции файлов Java.

Команда javac

Команда находится javacвнутри /jdkкаталога, но не добавляется автоматически в системный путь во время установки. У нас есть возможность установить javacсебя, или мы могли бы установить IDE, которая включает эту команду. Мы начнем с компиляции и запуска программы Java по старинке.

Простая программа на Java

Шаг 1. Напишите простую программу на Java

Создайте новый текстовый файл с именем Intro.javaи поместите его где-нибудь на вашем компьютере, например в папку «Документы».

Затем добавьте код из листинга 1, который представляет собой очень простую программу на Java.

Листинг 1. Intro.java

 public class Intro { public static void main(String[] args) { System.out.println("Welcome to the JDK!"); } } 

Шаг 2. Скомпилируйте с JDK.

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

Вы будете использовать javacкоманду, которая означает компилятор Java. Введите полный путь к команде в командную оболочку и передайте Intro.javaфайл как команду. В моей системе это похоже на листинг 2.

Листинг 2. Компиляция с помощью JDK

 "C:\Program Files\Java\jdk-10.0.1\bin\javac.exe" Intro.java 

Это должно привести к успешной компиляции. javacНе будет реагировать с сообщением успеха; он просто выведет новый файл. Любые ошибки приведут к консольному выводу.

Шаг 3. Запустите файл .class.

Теперь вы должны увидеть Intro.classфайл в том же каталоге, что и Intro.java.

Вы можете запустить его, набрав:, java Introчто приведет к листингу 3. Обратите внимание, что .classпри вводе этой команды вы не включаете символ.

Листинг 3. Запуск Intro.class

 C:\Users\mtyson\Documents>java Intro Welcome to the JDK! 

Команда jar

Это javacзвезда JDK, но в /binкаталоге есть и другие инструменты, которые вам понадобятся. Наверное, самым заметным после этого javacявляется jarинструмент.

.Jar файл представляет собой упакованный набор классов Java. После того, как компилятор создал .classфайлы, разработчик может объединить их в .jar, который сжимает и структурирует их предсказуемым образом.

Преобразуем Intro.classв jarфайл.

Вернитесь в каталог, в который вы поместили свой файл Intro.java, и введите команду, показанную в листинге 4.

Листинг 4. Создание файла JAR.

 C:\Users\mtyson\Documents>"c:\Program Files\Java\jdk-10.0.1\bin\jar.exe" --create --file intro.jar Intro.class 

Выполнение фляги

Теперь вы увидите intro.jarфайл в каталоге. Вы можете использовать .jarего, добавив его в свой путь к классам и выполнив программу внутри, как показано здесь:

 java -cp intro.jar Intro 

-cpПереключатель указывает Java , чтобы добавить jarк классам. Файл .jar - излишний для этой крошечной программы, но они незаменимы, поскольку программы растут в размерах и полагаются на сторонние пакеты.

JDK в вашей IDE

Оглядываясь назад на страницу загрузки JDK, вы, возможно, заметили возможность загрузки JDK с помощью IDE Netbeans. IDE или интегрированная среда разработки, это программное обеспечение , которое обеспечивает связный набор инструментов для разработки приложений. Думайте об IDE как о визуальной операционной системе с набором инструментов, таких как файловый браузер и текстовый редактор, с дополнительными возможностями, специфичными для разработки, такими как завершение кода и форматирование.

В разработке на Java одна из ключевых задач IDE - это управление компиляцией за вас. То есть IDE автоматически запускает процесс компиляции в фоновом режиме, поэтому вам не нужно постоянно делать это самостоятельно. IDE также обеспечивает обратную связь по ходу игры, выявляя ошибки кодирования на лету.

Для Java существует несколько надежных IDE. Вы видели, как JDK работает в командной строке, поэтому теперь давайте кратко рассмотрим, как он работает в Eclipse IDE.

[См. Также: Выбор Java IDE: Сравнение Eclipse, NetBeans и Intellij IDE по функциям, удобству использования, размеру и типу проекта]

Затмение и JDK

Установка Eclipse выходит за рамки этого руководства, но это простой процесс. Eclipse включает установщик, как и любая другая программа, и вы можете найти подходящий установщик для своей операционной системы здесь.

Если Eclipse установлен, откройте пункт меню «Окно» в строке меню и выберите настройки .

Внутри окна настроек вы увидите элемент Java . Откройте его, и внутри вы увидите элемент Compiler . Щелчок по нему откроет некоторые параметры JDK.

На рисунке 4 показан снимок экрана с параметрами JDK в Eclipse.

Мэтью Тайсон

Как упоминалось ранее, вам нужно будет выбрать правильную версию JDK для вашего проекта. Под капотом IDE будет запускать компилятор JDK так же, как вы запускали его из командной строки. Eclipse IDE также имеет собственный экземпляр JDK. IDE управляет JDK и JRE за вас, что значительно упрощает жизнь!

Заключение

Эта статья является второй из короткой серии, в которой представлены три основных компонента платформы Java: JVM, JDK и JRE. Ищите следующую статью этой серии, в которой вы узнаете все о среде выполнения Java.

Этот рассказ «Что такое JDK? Введение в Java Development Kit» был первоначально опубликован JavaWorld.