понедельник, 14 сентября 2020 г.

Что такое JVM JRE JDK IDE

   IDE (Integrated Development Environment) (Интегрированная среда разработки) - среда разработки программного обеспечения (приложение для написания программ).

   Среда разработки может включать в себя такие инструменты, как: текстовый редактор с подсветкой кода, компилятор или интерпретатор, браузер классов, инспектор объектов и диаграмму иерархии классов, средства автоматизации сборки, отладчик, средства для интеграции с системами управления версиями (Git), инструменты для упрощения конструирования графического интерфейса пользователя.

   Примеры IDE: - IntelliJ IDEA - Eclipse - NetBeans - JCreator - Notepad (Блокнот)


    JDK (Java Development Kit) (Набор для разработки Java) - набор инструментов для разработчика, необходимых для написания программ на Java.

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

 

   Скачать JDK для подходящей платформы можно по ссылке



   JRE (Java Runtime Environment) - среда выполнения (исполнения) Java.

      (Минимальная реализация виртуальной машины, необходимая для исполнения готовых Java-приложений)

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

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

      Подробнее о работе JRE можно прочитать по ссылке.


   JVM (Java Virtual Machine) - виртуальная (то есть реализованная программно) машина Java.

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

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

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

   Под платформой обычно понимают сочетание аппаратной (процессор) и программной (операционная система, ОС) части.

   При этом она запускает не файлы с исходным кодом (с расширением .java), а специальные промежуточные файлы с расширением. class в которых хранится байт-код.

   Также JVM осуществляет управление и оптимизацию памяти, используемой приложением.


   Виртуальная машина (JVM) для выполнения программы запускается с помощью утилиты java.


   Принцип использовани JVM:

      1) Программист создаёт файлы программы с расширением .java

      2) Файлы программы с расширением .java компилируются и получаются файлы с расширением .class, в которых уже хранится байт-код

      3) JVM считывает байт-код, интерпретирует его в машинный код, передавая его для исполнения платформе

      4) Команды программы выполняются платформой


   Подробнее о работе JVM можно прочитать здесь: https://javaika.blogspot.com/2018/11/2-java.html

   А также здесь: https://topjava.ru/blog/what-is-the-jvm


   Ниже приведена коцептуальная диаграмма продуктов Oracle, составляющих Java SE:

         Здесь:

            Java language - язык Java (его синтаксис).

            Java - Java runtime launcher - консольная утилита,позволяющая запустить программу. Она нужна для запуска JVM с полученными class-файлами.

            Javac - Java compiler (компилятор) - консольная утилита для компиляции кода. Она компилирует java-файлы в class-файлы, содержащие байт-код.

            Javadoc - Java documentation generator - утилита для генерации документации на основе комментариев в коде

            Jar - Java archive tool - утилита для работы с Jar.

            Javap - Java class file disassembler

            ...

            Java Web Start - Java Web Services Tools


   О том, как происходит напиcание и исполнение программ с их помощью можно прочитать здесь: https://javaika.blogspot.com/2018/11/2-java.html

Комментариев нет:

Отправить комментарий

Наследование в Java

   «родительское/дочернее»     Наследование (inheritance) - свойство системы, позволяющее описать (создать) новый класс на основе уже су...