
Java Development Kit (JDK) – это набор инструментов для разработки приложений на Java, включающий компилятор javac, виртуальную машину Java (JVM), стандартные библиотеки и утилиты для отладки. Без JDK невозможно преобразовать исходный код в исполняемый байт-код и проверить его работу на любой платформе.
Установка JDK требует выбора подходящей версии: Oracle JDK, OpenJDK или альтернативных сборок. Для современных проектов рекомендуется использовать версии 17 или 21, так как они поддерживаются LTS и обеспечивают актуальные функции языка, включая новые API и улучшения производительности.
Использование JDK начинается с настройки переменной окружения JAVA_HOME, указывающей на корневую папку установленного JDK. После этого компиляция выполняется через команду javac MyProgram.java, а запуск – через java MyProgram. Для больших проектов оптимально интегрировать JDK с системами сборки, такими как Maven или Gradle, чтобы автоматизировать компиляцию и управление зависимостями.
Рекомендации включают регулярное обновление JDK для получения исправлений безопасности, использование конкретной версии для совместимости с библиотеками и избегание одновременной установки нескольких JDK без явного управления версиями через менеджеры, например SDKMAN или jEnv.
Как скачать и установить JDK на Windows и Mac

Для скачивания JDK перейдите на официальный сайт Oracle Java SE Downloads. Выберите последнюю версию JDK, поддерживаемую вашей системой.
Windows: выберите установочный файл с расширением .exe под архитектуру вашей системы (x64 или x86). После загрузки запустите установщик и следуйте инструкции: укажите путь установки, например C:\Program Files\Java\jdk-XX, где XX – версия JDK.
После завершения установки откройте командную строку и проверьте корректность: выполните java -version и javac -version. Если система не распознает команды, добавьте путь к папке bin JDK в переменную среды PATH: Control Panel → System → Advanced system settings → Environment Variables → PATH.
Mac: скачайте пакет .dmg для macOS. Дважды кликните по файлу и следуйте указаниям установщика. JDK по умолчанию устанавливается в /Library/Java/JavaVirtualMachines/jdk-XX.jdk/Contents/Home.
Для проверки откройте Terminal и выполните java -version и javac -version. Если команды не работают, добавьте путь к JDK в файл .zshrc или .bash_profile с помощью строки: export PATH=$PATH:/Library/Java/JavaVirtualMachines/jdk-XX.jdk/Contents/Home/bin и примените изменения командой source ~/.zshrc или source ~/.bash_profile.
После этих действий JDK полностью готов к использованию для компиляции и запуска Java-программ на Windows и Mac.
Проверка корректной установки JDK через командную строку
Уточнить путь установки JDK можно через echo %JAVA_HOME% в Windows или echo $JAVA_HOME на macOS/Linux. Значение переменной должно указывать на корневую папку JDK, например: C:\Program Files\Java\jdk-17.0.8. Несоответствие пути требует корректировки переменной окружения.
После изменения PATH и JAVA_HOME перезапустите командную строку, чтобы изменения вступили в силу. Повторите команды java -version и javac -version для подтверждения корректной установки.
Если проверка пройдена успешно, JDK готов к компиляции и запуску Java-программ, а доступ к инструментам командной строки обеспечен без ошибок.
Настройка переменной окружения JAVA_HOME
Переменная окружения JAVA_HOME указывает системе путь к установленной JDK и необходима для корректной работы инструментов сборки, таких как Maven, Gradle и Ant.
Для Windows:
- Откройте «Панель управления» → «Система и безопасность» → «Система» → «Дополнительные параметры системы».
- В разделе «Переменные среды» создайте новую системную переменную:
- Имя:
JAVA_HOME - Значение: полный путь к корню установленной JDK, например
C:\Program Files\Java\jdk-20 - Добавьте
%JAVA_HOME%\binв переменнуюPathдля возможности запуска Java из командной строки. - Проверьте настройку командой
echo %JAVA_HOME%иjava -version.
Для Linux и macOS:
- Откройте файл конфигурации оболочки, например
~/.bashrc,~/.zshrcили/etc/profileдля системного уровня. - Добавьте строки:
export JAVA_HOME=/usr/lib/jvm/jdk-20export PATH=$JAVA_HOME/bin:$PATH- Примените изменения командой
source ~/.bashrcилиsource ~/.zshrc. - Проверьте настройку командой
echo $JAVA_HOMEиjava -version.
Рекомендации:
- Используйте абсолютный путь к JDK, не символические ссылки.
- Не указывайте путь к JRE, только к JDK.
- Если установлено несколько версий JDK, корректно изменяйте
JAVA_HOMEпри переключении. - Для скриптов сборки проверяйте, что
JAVA_HOMEсовпадает с требуемой версией JDK.
Разница между JDK и JRE для запуска и разработки

JDK (Java Development Kit) и JRE (Java Runtime Environment) различаются по функциональности и назначению. JRE обеспечивает только выполнение Java-приложений, включая виртуальную машину (JVM) и стандартные библиотеки. JDK, помимо JRE, содержит компилятор javac, отладочные инструменты и утилиты для управления пакетами, что делает его необходимым для разработки.
| Параметр | JRE | JDK |
|---|---|---|
| Назначение | Запуск готовых Java-программ | Создание и тестирование Java-программ |
| Состав | JVM, стандартные библиотеки, браузерный плагин (опционально) | Все компоненты JRE + компилятор javac, javadoc, jar, jdb |
| Использование | Устанавливается на компьютерах пользователей для запуска приложений | Устанавливается на компьютерах разработчиков для написания и компиляции кода |
| Инструменты разработки | Нет | Есть: javac, jdb, jar, javadoc |
| Размер установки | ~50-100 МБ (зависит от версии) | ~150-300 МБ (зависит от версии) |
Рекомендация: для разработки и тестирования всегда устанавливать JDK. Для конечного запуска приложений на клиентских машинах достаточно JRE. Проверку установленной версии Java можно выполнить через команду java -version, а наличие компилятора – через javac -version.
Для проектов, использующих современные инструменты сборки (Maven, Gradle), JDK необходим, так как эти системы компилируют исходный код и управляют зависимостями, что невозможно с одной JRE.
При обновлении Java важно синхронизировать версии JDK и JRE, чтобы избежать несовместимости между компиляцией и выполнением программ.
Создание и компиляция первого Java-приложения через JDK

Для начала работы с JDK убедитесь, что установлена последняя версия Java Development Kit и настроена переменная окружения PATH для доступа к javac и java из командной строки.
1. Создайте рабочую папку для проекта, например C:\JavaProjects\HelloWorld или /home/user/JavaProjects/HelloWorld.
2. В этой папке создайте текстовый файл HelloWorld.java с минимальным кодом:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, Java!");
}
}
3. Откройте командную строку (Windows) или терминал (Linux/macOS) и перейдите в папку проекта:
cd C:\JavaProjects\HelloWorld
4. Компиляция программы выполняется командой:
javac HelloWorld.java
После успешной компиляции в той же папке появится файл HelloWorld.class, содержащий байт-код Java.
5. Запуск программы производится через команду:
java HelloWorld
Hello, Java!
Рекомендации:
- Используйте короткие, осмысленные имена файлов и классов.
- Проверяйте корректность
PATH, иначеjavacиjavaне будут доступны. - Компиляция создает байт-код, который можно запускать на любой JVM, независимо от операционной системы.
- Для отладки добавляйте флаг
-verboseпри компиляции, чтобы видеть процесс генерации классов. - Соблюдайте структуру пакетов, если планируется расширение проекта.
Использование инструментов JDK: javac, java и jar

javac – компилятор Java, который преобразует исходный код (.java) в байт-код (.class). Для компиляции отдельного файла используется команда javac ИмяФайла.java. Чтобы скомпилировать несколько файлов одновременно, указывайте их через пробел или используйте шаблон: javac *.java. Рекомендуется указывать опцию -d для задания целевой директории классов, например: javac -d bin src/*.java, чтобы отделить исходники от скомпилированных файлов.
java – инструмент запуска байт-кода. После компиляции класс можно выполнить командой java -cp bin ИмяКласса. Если приложение использует внешние библиотеки, их пути добавляются через -cp или -classpath, например: java -cp "bin;lib/*" Main. Для передачи аргументов программе используйте их после имени класса: java Main arg1 arg2.
jar – утилита для упаковки и управления архивами Java. Создание исполняемого JAR-файла выполняется командой jar cfe ИмяФайла.jar ГлавныйКласс -C bin/ ., где c создаёт архив, f задаёт имя файла, e указывает точку входа. Для добавления файлов в существующий архив используется jar uf ИмяФайла.jar путь/к/файлам. Проверка содержимого выполняется через jar tf ИмяФайла.jar.
При работе с JDK рекомендуется использовать явные пути к каталогам исходников и библиотек, избегать компиляции и запуска из текущей директории без структуры, чтобы минимизировать конфликты версий и проблемы с зависимостями.
Обновление JDK и управление версиями на одном компьютере

Для обновления JDK рекомендуется использовать официальные сборки Oracle, OpenJDK или AdoptOpenJDK. Каждая версия JDK имеет отдельный каталог установки; для Windows это обычно `C:\Program Files\Java\jdk-<версия>`, для Linux – `/usr/lib/jvm/jdk-<версия>`.
Проверка текущей версии выполняется командой java -version в терминале. Для обновления JDK достаточно скачать новую сборку и установить её в отдельную папку, не удаляя старые версии.
Для одновременного использования нескольких версий JDK применяют переменные окружения. На Windows переменная JAVA_HOME указывает путь к активной версии, а Path должен включать %JAVA_HOME%\bin. На Linux и macOS используется export JAVA_HOME=/usr/lib/jvm/jdk-<версия> и export PATH=$JAVA_HOME/bin:$PATH.
Управление версиями можно автоматизировать с помощью инструментов SDKMAN! на Linux/macOS или jEnv. SDKMAN! позволяет переключать версии командой sdk use java <версия>, jEnv – jenv global <версия> для всей системы и jenv local <версия> для проекта.
При работе с проектами Maven или Gradle рекомендуется явно указывать требуемую версию JDK в файлах pom.xml или build.gradle. Это гарантирует совместимость сборки и исключает конфликт версий при переключении между проектами.
Регулярное обновление JDK до последних патчей критично для безопасности и производительности. При этом старые версии можно сохранить для поддержки устаревших приложений, избегая их удаления после установки новых сборок.
Вопрос-ответ:
Что такое JDK и для чего он нужен?
JDK (Java Development Kit) — это комплект инструментов для разработки программ на языке Java. Он включает компилятор, интерпретатор, стандартные библиотеки и утилиты, которые позволяют создавать, тестировать и запускать Java-приложения на компьютере. Без JDK невозможно перевести исходный код в исполняемый формат или проверить работу программы на локальной машине.
Как установить JDK на компьютер?
Для установки JDK нужно скачать дистрибутив с официального сайта Oracle или других поставщиков, поддерживающих Java. После загрузки следует запустить установочный файл и следовать инструкциям мастера. После установки рекомендуется проверить корректность через командную строку, введя команду `java -version`, чтобы убедиться, что система распознаёт установленную версию.
В чём разница между JDK и JRE?
JRE (Java Runtime Environment) предназначен только для запуска уже готовых Java-программ и не содержит инструментов для компиляции. JDK включает в себя JRE, а также дополнительные средства для разработки: компилятор, отладчик, утилиты для работы с классами. Если ваша цель — писать собственный код, JDK необходим, а для простого запуска приложений достаточно JRE.
Как использовать JDK для компиляции и запуска программы на Java?
Сначала нужно написать код программы в текстовом редакторе и сохранить файл с расширением `.java`. Затем через командную строку выполнить команду `javac ИмяФайла.java` для компиляции. После успешной компиляции появится файл с расширением `.class`. Его можно запустить командой `java ИмяФайла` без расширения, и программа выполнится в среде Java.
Какие версии JDK лучше выбирать для разработки?
Для большинства проектов подходят последние стабильные версии, которые поддерживаются большинством библиотек. Иногда выбирают конкретную версию из-за совместимости с существующим кодом или инструментами. Важно учитывать, что более новые версии могут содержать улучшения производительности и безопасности, а старые могут быть удобны для работы с устаревшими проектами.
