JVM против JRE
Java - это кроссплатформенный язык программирования. Он также придерживается принципа «пиши один раз, беги куда угодно». Программа, написанная на Java, может быть скомпилирована в Java-байт-код компилятором Java. Затем байт-код может быть выполнен на любой платформе, на которой работает JRE (среда выполнения Java). JRE включает в себя JVM (виртуальную машину Java), базовые библиотеки (которые реализуют API Java) и другие вспомогательные файлы. JVM - это абстрактная вычислительная машина, которая выступает в качестве посредника между JRE для конкретных платформ и кодом Java..
Что такое JVM?
JVM - это тип виртуальной машины, который используется машинами для выполнения байт-кода Java. По данным Sun Microsystems (которая разработала Java до тех пор, пока она не была куплена Oracle, совсем недавно) в мире существует более 4 миллиардов устройств с поддержкой JVM. В частности, Java Virtual Machine - это абстрактная вычислительная машина, реализованная на стандартном оборудовании и операционной системе. Одной из важных функций, предоставляемых JVM, является автоматизированная обработка исключений. Обычно коллекция стандартных библиотек сопровождает JVM. Фактически, JRE - это пакет, содержащий JVM и классы, которые реализуют Java API. JVM является очень важным компонентом, который поддерживает природу языка программирования Java «один раз скомпилируй, беги куда угодно». Пока JVM работает, ваш Java-код может работать поверх него, независимо от платформы, используемой в машине. Вот почему Java называется кроссплатформенным или многоплатформенным языком..
Что такое JRE?
JRE - это среда выполнения, в которой выполняется код Java. Как правило, JRE состоит из JVM, стандартных базовых классов (которые реализуют базовый Java API) и других вспомогательных файлов. Тип и структура JRE варьируются в зависимости от операционной системы и архитектуры процессора. Когда код Java запускается, JRE связывается с операционной системой, которая, в свою очередь, взаимодействует с соответствующими аппаратными компонентами. Установка JRE в вашей системе является обязательным условием для запуска любого кода Java на вашем компьютере. Однако JRE не включает в себя компилятор, отладчик или любые другие инструменты, необходимые для разработки программ на Java (такие как appletviewer и javac). Если вам нужно разрабатывать программы на Java, вам нужен JDK (Java Development Kit), который также включает JRE.
В чем разница между JVM и JRE??
Хотя в повседневном использовании термины JVM и JRE используются взаимозаменяемо, они имеют свои различия. JVM - это виртуальная машина, работающая поверх операционной системы, а JRE - среда выполнения во время выполнения. JVM является частью JRE. Спецификация JVM действует как связь между реализацией JRE для платформы и стандартными библиотеками Java. Следовательно, JVM - это объект, который предоставляет абстракцию от внутренних деталей реализации программисту. И он отвечает за интерпретацию скомпилированного байт-кода. Однако JVM нужны базовые библиотеки и другие вспомогательные файлы для выполнения байт-кода java. Но иногда JRE просто определяется как реализация JVM.