Что такое JDK? Введение в средства разработки Java

Java Development Kit (JDK) является одним из трех основных технологий, используемых в программировании на языке Java. К ним также относятся JVM (Java Virtual Machine) и JRE (Java Runtime Environment). Важно их различать, а также понимать, как они связаны:
  • JVM отвечает за исполнение Java-программ;
  • JRE создает и запускает JVM;
  • JDK позволяет разработчикам создавать программы, которые могут выполняться и запускаться посредством JVM и JRE;
Начинающие Java-разработчики часто путают JDK и JRE. Различие заключается в том, что JDK представляет собой пакет инструментов для разработки программного обеспечения, тогда как JRE представляет собой пакет инструментов для запуска Java-кода.
JRE может использоваться, как отдельный компонент для простого запуска Java-программ, либо быть частью JDK. JDK требуется JRE, потому что запуск программ является неотъемлемой частью их разработки.
Давайте рассмотрим техническое и обобщенное определение JDK:
    • Техническое определение: JDK — это реализация спецификации платформы Java, включающая в себя компилятор и библиотеки классов.
    • Обобщенное определение: JDK — это программный пакет, который вы загружаете для создания Java-приложений.
    Знакомство с JDK
    Установка и настройка JDK не представляет никакой сложности. При загрузке JDK необходимо выбрать какую версию Java вы хотите использовать. На данный момент Java 8 является все еще наиболее часто используемой версией (хотя уже и вышла Java 15). Java поддерживает обратную совместимость, поэтому просто загружайте последнюю версию.
    Пакеты JDK
    В дополнение к версии Java, необходимо выбрать пакет (платформу). В Java доступны следующие платформы: Java Enterprise Edition (Java EE), Java Standard Edition (Java SE) и Java Mobile Edition (Java ME).
    Начинающие разработчики иногда не могут разобраться, какой именно пакет подходит для их проекта. Как правило, каждая версия JDK содержит инструменты Java SE. Например, Java EE это стандартная платформа (SE) с дополнительными инструментами, полезными для разработки корпоративных приложений таких, как Enterprise JavaBeans или поддержка Object Relational Mapping.
    Если вы являетесь начинающим разработчиком, то вас не должен беспокоить выбор правильной версии JDK пакета, так как при необходимости, можно без проблем переключиться на другой пакет.
    Загрузка JDK
    В этой статье мы остановимся на JDK SE и сосредоточимся на основных классах и технологиях Java SE. Чтобы загрузить JDK, посетите сайт любой компании, которая формирует бинарные сборки JDK, например Oracle, BellSoft и т. д. и скачайте нужную версию. Актуальный список таких компаний можно посмотреть по этой ссылке.
    О Java EE
    Вам необходимо использовать Java EE, если вы собираетесь создавать веб-приложения. Java EE JDK включает спецификацию Java Servlet, которая поддерживает обработку HTTP-запросов. Для любой реализации Java EE JDK также требуется специальный контейнер, который является сервером, запускающим приложения. Glassfish является эталонной реализацией сервера Java EE от компании Oracle. Другими популярными реализациями являются Tomcat and Jetty.
    Установка JDK
    При запуске установщика JDK, вам для установки будет предложен выбор из трех компонентов: инструменты разработки, исходный код и JRE. Вы можете установить один или все из них.
    Установка инструментов разработки дает вам доступ непосредственно к JDK. Исходный код содержит исходники публичных классов из Java Core API. Установка этого пункта позволит вам обращаться к исходному коду классов при разработке ваших приложений.
    Устанавливайте все предлагаемые компоненты и принимайте значения по умолчанию. В вашу операционную систему будут установлены JDK, JRE и исходные коды классов. Путь установки используйте тот, который предлагается по умолчанию.
    JDK в командной строке
    Установка JDK и JRE добавляет команду java в вашу командную строку. Вы можете проверить это, выполнив в командной строке команду java -version, которая должна вывести в консоль, установленную версию Java.
    Команда javac
    Утилита javac находится в директории /bin, но автоматически не добавляется в системную переменную PATH (представляет собой набор путей до каталогов, в которых расположены исполняемые файлы) во время установки (хотя, некоторые дистрибутивы такие, как Axiom делают это автоматически). Мы можем установить javac самостоятельно или установить IDE (интегрированная среда разработки), которая содержит эту команду.
    Простая Java программа
    Шаг 1. Пишем код на Java
    Создайте новый текстовый файл под названием Intro.java в каком-нибудь редакторе и сохраните его куда-нибудь на своем компьютере.
    Затем добавьте в него следующий код:
    
    public class Intro {
    
        public static void main(String[] args) {
            System.out.println("Welcome to the JDK!");
        }
    }
    
    Шаг 2. Компиляция с помощью JDK
    Затем используйте JDK-компилятор, чтобы превратить ваш текстовый файл в исполняемую программу. Скомпилированный код в Java известен, как байт-код и имеет расширение class.
    Для компиляции программ необходимо использовать команду javac:
    
    > javac Intro.java
    
    Это должно привести к успешной компиляции. Если компиляция прошла удачно, то в консоли не отобразится сообщение об ее успешном завершении. В противном случае любые ошибки будут отображены в консоли.
    Шаг 3. Запуск .class-файла
    После компиляции должен появиться файл Intro.class в той же папке, что и Intro.java. Для его запуска используйте команду java:
    
    > java Intro
    Welcome to the JDK!
    
    Обратите внимание, что при вводе команды расширение .class не указывается.
    Результат работы команды отобразится в командной строке.
    Команда jar
    Javac является важной частью JDK, но каталог /bin содержит и другие инструменты, которые вам понадобятся. Вероятно, наиболее важным после javac является инструмент jar.
    Файл с расширением .jar является архивом для Java-классов. После того как компилятор создал class-файлы, разработчик может объединить их в .jar, который сжимает и структурирует их в необходимом порядке.
    Давайте преобразуем Intro.java в jar-файл.
    >Вернитесь в каталог, где вы разместили файл Intro.java и выполните следующую команду в командной строке:
    
    > jar --create --file Intro.jar Intro.class
    
    Запуск .jar-файла
    Если все прошло хорошо, то в каталоге появился файл intro.jar. Вы можете его запустить, используя следующую команду:
    
    > java -cp Intro.jar Intro
    
    Эта команда говорит Java, что искать метод main надо в классе Intro по пути intro.jar. Для такой маленькой программы не имеет смысла создавать .jar-файл. Но такие файлы необходимы, когда программа разрастается, а также использует сторонние библиотеки классов.
    JDK в вашей IDE
    IDE (Integrated Development Environment) или интегрированная среда разработки — это программное обеспечение, которое представляет собой функциональный набор инструментов для разработки приложений. Воспринимайте IDE, как визуальную операционную систему с набором таких инструментов, как браузер файлов и текстовый редактор с дополнительными возможностями, специфичными для разработки (автодополнение кода, форматирование и т. д.).
    В Java-разработке одной из ключевых обязанностей IDE является автоматическое управление компиляцией. Среда сама запускает процесс компиляции в фоновом режиме, поэтому вам не нужно постоянно делать это самостоятельно. Также IDE «на лету» ловит и отображает ошибки кодирования.
    Мы уже обсудили, как JDK работает в командной строке, теперь давайте немного посмотрим, как она работает в среде IntelliJ IDEA.
    IntelliJ IDEA и JDK
    Установка IntelliJ Idea выходит за рамки этого руководства, но это простой процесс и вряд ли у вас возникнут с ним какие-то трудности. На официальном сайте вы можете скачать установщик для своей операционной системы.
    Запустите проект в IntelliJ IDEA и перейдите в File->Project Structure->Project
    Тут вы можете увидеть и настроить версию JDK (она же SDK), а также путь, куда IDE сохраняет скомпилированные классы проекта.
    Оцените статью, если она вам понравилась!