Набор инструментов для запуска java программ включая виртуальную машину

Обновлено: 06.07.2024

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

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

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

Что устанавливать, JRE или JDK?

Существует две разновидности дистрибутива Java — для простых пользователей и для разработчиков:

  • Java Runtime Environment, или JRE — это виртуальная машина, позволяющая запускать приложения, написанные на языке программирования Java;
  • Java Development Kit, или JDK — это набор инструментов для разработки программ на языке программирования Java (компилятор, архиватор, генератор документации и прочие). JRE разумеется является частью дистрибутива JDK.

Правило очень простое:

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

Какую версию выбрать?

Релизы Java выходят раз в полгода (не считая мелких обновлений). Но не стоит гнаться за новизной. Если вы установите Java последней версии, приготовьтесь к тому, что не все приложения будут хорошо работать с ней. Новые недавно добавленные возможности иногда приводят к проблемам совместимости.

Лучше всего посмотреть статистику и выбрать то, что использует большинство. Давайте посмотрим статистику за 2019 год:

В сентябре 2019 года вышла версия 13, в марте 2020 года выйдет версия 14, но при этом большинство продолжает использовать Java 8!

Я не собираюсь здесь обсуждать причины этого явления, но факт есть факт — это самая распространённая версия по состоянию на конец 2019 года. Поэтому если вы хотите максимальной стабильности и совместимости — в 2020 году берите Java 8.

Второе место по популярности занимает Java 11, это так называемый релиз с долгосрочной поддержкой (Long Term Support, LTS), ориентированный на корпоративных пользователей, для которых стабильность важнее новых фич.

Поддержка Java 8 официально прекращается в декабре 2020 года, к этому времени все корпоративные пользователи будут вынуждены перейти на Java 11. Но вы уже сейчас, не дожидаясь конца 2020 года, можете смело брать эту версию, она обеспечит комфортное соотношение достаточной новизны и не очень высокого риска. А если что-то не будет работать — можно установить рядом Java 8 для использования со старыми приложениями.

Выбирая из 32-битной и 64-битной версий, берите 64-битную, если ваша операционная система это позволяет.

Где взять?

Java это не только язык программирования, но и спецификация, как самого языка, так и среды исполнения программ, написанных на этом языке. Причем это открытая спецификация, поэтому может существовать, и существует, много разных её реализаций, в том числе проприетарных.

Большинство бесплатных реализаций (а может быть даже все) базируются на общем коде, который разрабатывается совместными усилиями вендоров в рамках проекта OpenJDK.

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

Лично я отдаю предпочтение сборке Azul Zulu, но вы можете выбрать какую-нибудь другую.

Как установить?

На примере сборки Azul Zulu.

В операционной системе Windows:

  1. выберите сборку и версию, как описано в предыдущих разделах;
  2. загрузите инсталлятор (файл с расширением .msi );
  3. запустите инсталлятор и следуйте инструкциям на экране.

В операционной системе Linux:

  1. выберите сборку и версию, как описано в предыдущих разделах;
  2. загрузите пакет (файл с расширением .deb или .rpm );
  3. в консоли выполните команду
    sudo apt install <путь к загруженному deb-файлу>
    либо
    sudo rpm -i <путь к загруженному rpm-файлу>

В операционной системе MacOS:

  1. выберите сборку и версию, как описано в предыдущих разделах;
  2. загрузите образ диска (файл с расширением .dmg );
  3. откройте загруженный образ диска;
  4. запустите находящийся внутри него инсталлятор и следуйте инструкциям на экране.

Как проверить правильность установки?

В операционной системе Windows нужно запустить консоль ( cmd ) и выполнить команду where java , которая должна показать правильный путь до исполняемого файла java.exe , а также после этого выполнить команду java -version для проверки того, что это именно та версия, которую вы устанавливали:


В операционной системе Linux и MacOS нужно запустить консоль и выполнить команду which java , которая должна показать правильный путь до исполняемого файла java (скорее всего это будет /usr/bin/java ), а также после этого выполнить команду java -version для проверки того, что это именно та версия, которую вы устанавливали:


Что ещё надо сделать?

Инсталлятор Java выполняет минимальную необходимую настройку окружения, в том числе он добавляет в переменную среды PATH путь к директории, которая содержит исполняемые файлы Java (в операционной системе Windows), либо создаёт в стандартной директории для исполняемых файлов символические ссылки на установленные исполняемые файлы Java (в других операционных системах).

Но некоторые программы вместо этого используют переменную среды JAVA_HOME , которая должна указывать на директорию, в которую установлена Java. Поэтому на всякий случай можно сразу установить эту переменную.

Для этого надо научиться определять, куда установлена Java.

В операционной системе Windows путь к директории установки можно увидеть, выполнив команду where java в консоли. Например, если вы установили сборку Zulu JDK версии 8, эта команда вернёт значение C:\Program Files\Zulu\zulu-8\bin\java.exe , а в переменную JAVA_HOME нужно установить значение C:\Program Files\Zulu\zulu-8 .

/.profile добавить строчку export JAVA_HOME=$(readlink -f $(which java) | sed "s:/bin/java::") .

В операционной системе MacOS есть специальная команда /usr/libexec/java_home , которая возвращает нужный путь. Например, если вы установили сборку Zulu версии 8, эта команда вернёт значение /Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home , именно это значение и нужно установить в переменную JAVA_HOME . Чтобы эта переменная среды устанавливалась автоматически при входе в систему, можно в файл

/.profile добавить строчку export JAVA_HOME=$(/usr/libexec/java_home) .

А если вы собираетесь писать код на языке программирования Java, информация о расположении Java пригодится при настройке среды разработки.

Алексей Баранцев

Автор: Алексей Баранцев

Если вам понравилась эта статья, вы можете поделиться ею в социальных сетях (кнопочки ниже), а потом вернуться на главную страницу блога и почитать другие мои статьи.
Ну а если вы не согласны с чем-то или хотите что-нибудь дополнить – оставьте комментарий ниже, может быть это послужит поводом для написания новой интересной статьи.

До недавнего времени вы писали программы просто на сайте JavaRush. Это было просто, удобно и понятно. Но не думаете же вы, что будете делать так всегда? Настало время начать писать программы по-взрослому, прямо как настоящие программисты. Как-то же писались программы до создания JavaRush!

Чтобы написать программу на своем компьютере без JavaRush, вам нужно сделать две вещи:

  1. Установить Java JDK
  2. Установить Java IDE

Что же это за вещи-то такие?

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

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

Java IDE

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

Такие программы для создания программ принято называть IDE . IDE — это Integrated Development Environment — Интегрированная Среда Разработки.

Для написания Java-программ существуют 3 популярные IDE :

  1. IntelliJ IDEA
  2. Eclipse
  3. Net Beans

Почти все программисты отдают предпочтение IntelliJ IDEA . И когда вы с ней познакомитесь, поймете почему. Но сначала нужно разобраться с JVM и JDK .

2. Что такое JDK

JVM — это сокращенное название от Java Virtual Machine — Виртуальная Машина Java. Обычный процессор выполняет машинный код, а JVM выполняет байт-код . Поэтому JVM — это как бы виртуальный процессор/машина.

Программисты вообще часто называют компьютер/процессор машиной. ЭВМ , кстати, это тоже Электронно-Вычислительная Машина . Привыкайте: вы теперь тоже один из них.

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

JVM совместно со стандартными Java-библиотеками образует JRE — Java Runtime Environment — Среду Выполнения Java.

JRE достаточно для запуска многих Java-программ, но не для программистов. Java-компилятор , например, в JRE не входит. И где же его взять?

Для Java-программистов есть свой собственный набор — JDK — Java Development Kit — Набор Java-разработчика. В JDK входит JRE , а также Java-компилятор и другие программы полезные Java-разработчикам. Выглядит все это дело примерно так:


JDK содержит JRE + инструменты для Java-разработчиков.

JRE содержит JVM + набор стандартных Java-библиотек.

JVM — это виртуальная машина Java .

3. Разновидности JDK

Прошло то время, когда раз в 3-5 лет выходила новая версия Java, и это было целым событием. Сейчас новая версия JDK выходит раз в полгода. Пример Google Chrome оказался заразительным :) Кроме того, свои JDK выпускают разные компании.

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

  • Oracle JDK — официальная JDK от компании-разработчика Java. Уже частично платная для компаний, но по-прежнему бесплатная для частного использования и разработчиков.
  • Open JDK — бесплатная JDK , тоже выпускается Oracle. Очень любимая разработчиками и компаниями, которые не хотят платить Oracle деньги.

Принципиальной разницы для разработчиков нет, поэтому можете смело использовать Open JDK.

4. Установка JDK

На момент написания этой лекции была версия 16, поэтому покажем на ее примере.

Нажми на текущую актуальную версию. В разделе Builds кликни на версию JDK для своей ОС, чтобы началась загрузка.

JDK download

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

Важно! В пути к JDK не должно быть символов кириллицы. Из-за кириллицы будут проблемы с запуском программ.

5. Видео по установке JDK

Мы сделали специальное видео, чтобы закрыть все возможные вопросы по этому процессу.

Если какие-то вопросы у вас все же остались, вы всегда можете задать их на нашем Форуме.

В этом уроке вы узнаете:

Что такое JRE?

Что такое JVM?

Во многих других языках программирования компилятор создает машинный код для конкретной системы. Однако компилятор Java создает код для виртуальной машины, которая называется JVM.

Зачем использовать JDK?

Вот важные причины использования JDK:

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

Зачем использовать JRE?

  • JRE содержит библиотеки классов, JVM и другие вспомогательные файлы. Он не содержит никаких инструментов для разработки Java, таких как отладчик, компилятор и т. Д.
  • Он использует важные классы пакетов, такие как библиотеки math, swingetc, util, lang, awt и runtime.
  • If you have to run Java applets, then JRE must be installed in your system.

Why JVM?

Here are the important reasons of using JVM:

  • JVM provides a platform-independent way of executing Java source code.
  • It has numerous libraries, tools, and frameworks.
  • Once you run Java program, you can run on any platform and save lots of time.
  • JVM comes with JIT(Just-in-Time) compiler that converts Java source code into low-level machine language. Hence, it runs more faster as a regular application.

Features of JDK

Here are the important features of JDK:

  • It enables you to handle multiple extensions in a single catch block.
  • JDK includes all features that JRE has.
  • It contains development tools such as a compiler, debugger, etc.
  • JDK provides the environment to develop and execute Java source code.
  • It can be installed on Windows, Unix, and Mac operating systems.
  • Diamond operator can be used in specifying a generic type interface instead of writing the exact one.

Features of JRE

  • Java Runtime Environment is a set of tools using which the JVM actually runs.
  • JRE contains deployment technology, including Java Web Start and Java Plug-in.
  • Developers can easily run the source code in JRE, but he/she cannot write and compile the Java program.
  • It includes integration libraries like Java Database Connectivity (JDBC), Remote Method Invocation (RMI), Java Naming and Directory Interface (JNDI), and more.
  • JRE has JVM and Java HotSpot virtual machine client.

Features of JVM

Here are the important features of JVM:

  • It enables you to run applications in a cloud environment or in your device.
  • Java Virtual Machine converts byte code to the machine-specific code.
  • It provides basic java functions like memory management, security, garbage collection, and more.
  • JVM runs the program by using libraries and files given by Java Runtime Environment.
  • JDK and JRE both contain Java Virtual Machine.
  • It can execute the java program line by line hence it is also called as interpreter.
  • JVM is easily customizable for example, you can allocate minimum and maximum memory to it.
  • It is independent from hardware and the operating system. So, you can write a java program once and run anywhere.

How JDK Functions?


Here are the important components of JDK:

Как функционирует JRE?


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

Таким образом, Java-программа работает в JRE.

Как функционирует JVM?


Вот важные компоненты JVM:

1) Класс Loader

2) Область метода

Область методов JVM хранит структуру класса, такую ​​как метаданные, код для методов Java и постоянный пул времени выполнения.

3) куча

Все объекты, массивы и переменные экземпляра хранятся в куче. Эта память распределяется между несколькими потоками.

4) Языковые стеки JVM

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

5) ПК Регистры

Регистры ПК хранят адрес инструкции виртуальной машины Java, которая в данный момент выполняется. В Java каждый поток имеет свой отдельный регистр ПК.

6) Стеки родного метода

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

7) Исполнение двигателя

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

8) интерфейс родного метода

Интерфейс Native Method представляет собой среду программирования. Он позволяет коду Java, который выполняется в JVM, вызываться библиотеками и собственными приложениями.

9) Библиотеки нативных методов

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

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

Общий вид JDK


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

Давайте рассмотрим технические и повседневные определения JDK:

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

Как начать работу с JDK?

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

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

Пакеты JDK

Иногда начинающие разработчики не уверены, какой пакет подходит для их проекта. Как правило, каждая версия JDK содержит Java SE. Если вы загрузите Java EE или Java ME, вы получите вместе с ним стандартную версию.

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

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

Поскольку JDK предоставляет компилятор для ваших программ, JDK, который вы используете, определяет, в какой версии Java вы можете кодировать.

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

Где скачать JDK?

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

доступные пакеты

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

Установка JDK

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

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

Третий вариант, «общедоступная JRE», свидетельствует о том, что JDK и JRE являются отдельными сущностями: общедоступная JRE может использоваться другими программами для выполнения программ и может быть установлена ​​отдельно от JDK.

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

установка java

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

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

Команда javac

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

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

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

Затем добавьте код ниже.

Шаг 2. Компиляция с помощью JDK

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

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

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

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

Вы можете запустить его, набрав: java Intro, что откроет код ниже.

Обратите внимание, что вы не включаете .class при вводе этой команды.

Команда jar

Каталог / bin содержит другие инструменты, которые вам понадобятся. Вероятно, самый известный после javac инструмент jar.

Давайте конвертируем Intro.class в файл jar.

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

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

JDK в вашей IDE

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

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

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

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

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

настройки eclipse sdk

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

Средняя оценка / 5. Количество голосов:

Спасибо, помогите другим - напишите комментарий, добавьте информации к статье.

Читайте также: