Что такое jdk java
Перейти к содержимому

Что такое jdk java

  • автор:

Разбираем Термины: JVM, JRE и JDK в Мире Java

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

JVM (Java Virtual Machine):

Это своего рода «волшебная» виртуальная машина Java. Ядро исполнения, она воплощает Java Runtime Environment (JRE). JVM выполняет байт-код Java, который генерируется компилятором Java (javac) из исходного кода программы. Это волшебство позволяет коду работать на разных платформах без заботы о том, где и как он будет запущен.

JRE (Java Runtime Environment):

Основной костяк для запуска Java-приложений. JRE — это минимальная реализация виртуальной машины, необходимая для исполнения Java-приложений. Здесь нет компилятора и других инструментов разработки, только виртуальная машина и библиотеки Java классов, готовые к выполнению вашего кода.

JDK (Java Development Kit):

Если вы хотите создавать Java-приложения, JDK — ваш верный спутник. Этот комплект разработчика включает в себя не только компилятор, но и стандартные библиотеки классов Java, примеры, документацию, утилиты и JRE. Это полноценный набор инструментов, который делает вас настоящим хозяином кода.

Так что, читатель, приоткройте завесу тайны вокруг этих аббревиатур, и погрузитесь в захватывающий мир программирования на Java!

Презентацию с видео можно скачать на Patreon .

  • Погружение в Мир Java: 10 Особенностей, Сделавших Его Непревзойденным
  • Эволюция Имени и Инноваций
  • Разнообразие Мира Java: SE, EE, ME
  • Заглядываем в Мир Компиляторов и Интерпретаторов: Как Работает Ваш Код
  • Заглядываем Под Капот Языка Java: Компиляция и Байт-Код

Какая разница между JDK и JRE?

JRE – Java Runtime Environment, Java-окружение времени выполнения. Это набор всего необходимого чтобы запустить скомпилированную Java-программу. Окружение состоит из виртуальной машины Java (JVM), библиотеки классов (Java Class Library), консольной команды java и прочей инфраструктуры. Тем не менее, JRE не достаточно чтобы создавать новые программы.

JDK – Java Development Kit, набор Java-разработчика. Это полнофункциональный SDK для Java. JDK включает в себя JRE, но кроме того содержит компилятор ( javac ) и другие инструменты разработки, такие как javadoc и jdb . С помощью JDK можно создавать и компилировать программы.

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

JDK, JRE, JVM — Java: Настройка окружения

JVM (Java Virtual Machine) — Виртуальная машина отвечает за само выполнение кода. Она работает с байткодом (тем, что находится внутри файлов с расширением .class).

JRE (Java Runtime Environment) — окружение, необходимое для запуска Java-программ. Включает в себя стандартную библиотеку. В нее входят, как базовые пакеты lang, util, так и пакеты для работы с различными форматами, базами данных, пользовательским интерфейсом. JVM тоже часть JRE.

JDK (Java Development Kit) — набор программ для разработки. Именно его мы (или редактор) устанавливаем к себе на компьютер, чтобы заниматься разработкой на Java. Он включает в себя JRE, загрузчик кода java, компилятор javac, архиватор jar, генератор документации javadoc и другие утилиты, нужные во время разработки.

Write once, run anywhere

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

# Компиляция Go программы для двух разных комбинаций GOOS=linux GOARCH=arm go build path/to/file GOOS=windows GOARCH=amd64 go build path/to/file 

Для запуска таких программ больше ничего не нужно. Достаточно перенести их на нужную систему и запустить штатными средствами. Такие программы работают очень быстро, так как оптимизированы под конкретные условия.

# Запуск на Windows hexlet.exe 

Java устроена по-другому. Разработчики попытались обеспечить кроссплатформенность готовой программы, за счет введения виртуальной машины. Кроссплатформенность, способность программы запускаться на разных платформах (архитектура процессора и операционная система) без необходимости компилировать код под эти системы. Как это работает?

Ядро Java это JVM. Виртуальный процессор, со своим набором команд, который придумали создатели Java. Компилятор готовит код именно под эту единую JVM. Например, код:

for (int i = 2; i  1000; i++)  for (int j = 2; j  i; j++)  if (i % j == 0) continue outer; > System.out.println (i); > 

После компиляции превращается в:

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

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов

Наши выпускники работают в компаниях:

В чём различие между jdk, sdk и j2sdk?

SDK (software development kit) — набор инструментов для разработки приложений для определенной аппаратной/программной платформы.

JDK (java development kit) – набор инструментов для разработчика приложений на платформе и языке java (так как для платформы java можно писать приложения и на других языках программирования).

J2SDK (java 2 software development kit) – тоже что и JDK но название использовалось для версий 1.2.Х до 1.4.Х. С выходом java версии 1.2 было принято прибавлять цифру 2 к java для указания того что это следующая ступень развития языка/платформы. Добавление 2 продолжалось вплоть до версии java 1.5.0.12. С выходом java 1.5.0.12 двойку убрали.

В процессе развития платформы и языка java названия набор инструментов для разработки приложений (SDK) менялось:

  • 1.Х использовалось название JDK,
  • 1.2.Х по 1.5.11 – J2SDK в вперемешку с JDK,
  • 1.5.12 по 1.8.X – JDK.

Более детально историю названия версий можно посмотреть здесь.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *