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

Что такое runtime java

  • автор:

Java Runtime Environment

Java Runtime Environment (сокр. JRE) — минимальная реализация виртуальной машины, необходимая для исполнения Java-приложений, без компилятора и других средств разработки. Состоит из виртуальной машины — Java Virtual Machine и библиотеки Java-классов.

JRE распространяется свободно и для большинства платформ может быть загружена с сайта Oracle. [1]

Средства разработки вместе с JRE входят в JDK.

jucheck.exe

jucheck.exe — процесс, периодически устанавливающий обновления Java-машины в ОС Windows. Процесс не критичен для работы Windows, но при его отключении Java-машина перестанет обновляться. [2] [3] [4]

См. также

Примечания

  1. Oracle Technology Network for Java Developers
  2. jucheck.exe — What is jucheck.exe?
  3. jucheck.exe Windows process — What is it?
  4. jucheck.exe — jucheck, Java Update Check, Delete and Removal Information!

Ссылки

  • Java Runtime Environment Download from Java.com
  • Java SE Downloads
  • Test your Java Virtual Machine (JVM)
  • Программное обеспечение по алфавиту
  • Java

Wikimedia Foundation . 2010 .

  • Карно, Ипполит Лазар
  • Вальдек-Руссо, Пьер Мари

Полезное

Смотреть что такое «Java Runtime Environment» в других словарях:

  • Java Runtime Environment — (kurz JRE) wird die Laufzeitumgebung für die Java Plattform des US Unternehmens Sun Microsystems genannt. Diese liefert unter anderem die Java Virtual Machine und wird benötigt, um Java Anwendungen auszuführen. Allgemein besteht die… … Deutsch Wikipedia
  • Java Runtime Environment — o JRE es un conjunto de utilidades que permite la ejecución de programas Java. Componentes En su forma más simple, el entorno en tiempo de ejecución de Java está conformado por una Máquina Virtual de Java o JVM, un conjunto de bibliotecas Java y… … Wikipedia Español
  • Java Runtime Environment — JRE o Java Runtime Environment proporciona únicamente un subconjunto del lenguaje de programación Java sólo para ejecución. El usuario final normalmente utiliza JRE en paquetes y añadidos. El JRE es básicamente la máquina virtual de Java y las… … Enciclopedia Universal
  • Java Runtime Environment — Environnement d exécution Java En informatique, JRE est l acronyme de Java Runtime Environment (« environnement d exécution Java ») et désigne un ensemble d outils permettant l exécution de programmes Java sur toutes les plates formes… … Wikipédia en Français
  • Sun Java Runtime Environment — Java Runtime Environment Тип Программная платформа Разработчик Sun Microsystems ОС Кроссплатформа Версия Java 6 Update 13 20 марта 2009 г … Википедия
  • Runtime Environment — Eine Laufzeitumgebung (von englisch: „runtime environment“; kurz: „RTE“ oder seltener auch „RE“; auch Ausführungsumgebung oder seltener Ablaufumgebung genannt) ist eine Softwareschicht, die sich zwischen der Anwendungs und der Betriebssystem… … Deutsch Wikipedia
  • Java (Plattform) — Die Java Plattform (englisch Java Platform) definiert die Ablaufumgebung (Java Virtual Machine) und Programmierschnittstellen (Java Application Programming Interface) innerhalb der Java Technologie. Der Kern der Java Plattform ist die Java… … Deutsch Wikipedia
  • Java Platform, Standard Edition 6 — Die Java Plattform (englisch Java Platform) definiert die Ablaufumgebung (Java Virtual Machine) und Programmierschnittstellen (Java Application Programming Interface) innerhalb der Java Technologie. Der Kern der Java Plattform ist die Java… … Deutsch Wikipedia
  • Java Plattform — Die Java Plattform (englisch Java Platform) definiert die Ablaufumgebung (Java Virtual Machine) und Programmierschnittstellen (Java Application Programming Interface) innerhalb der Java Technologie. Der Kern der Java Plattform ist die Java… … Deutsch Wikipedia
  • Java-Plattform — Die Java Plattform (englisch Java Platform) definiert die Ablaufumgebung (Java Virtual Machine) und Programmierschnittstellen (Java Application Programming Interface) innerhalb der Java Technologie. Der Kern der Java Plattform ist die Java… … Deutsch Wikipedia
  • Обратная связь: Техподдержка, Реклама на сайте
  • �� Путешествия

Экспорт словарей на сайты, сделанные на PHP,
WordPress, MODx.

  • Пометить текст и поделитьсяИскать в этом же словареИскать синонимы
  • Искать во всех словарях
  • Искать в переводах
  • Искать в ИнтернетеИскать в этой же категории

Что такое runtime java

Every Java application has a single instance of class Runtime that allows the application to interface with the environment in which the application is running. The current runtime can be obtained from the getRuntime method. An application cannot create its own instance of this class.

Method Summary

Methods

Modifier and Type Method and Description
void addShutdownHook(Thread hook)

Registers a new virtual-machine shutdown hook.
Returns the number of processors available to the Java virtual machine.
Executes the specified string command in a separate process.
Executes the specified command and arguments in a separate process.
Executes the specified command and arguments in a separate process with the specified environment.

Executes the specified command and arguments in a separate process with the specified environment and working directory.

Executes the specified string command in a separate process with the specified environment.

Executes the specified string command in a separate process with the specified environment and working directory.

Terminates the currently running Java virtual machine by initiating its shutdown sequence.
Returns the amount of free memory in the Java Virtual Machine.
Runs the garbage collector.
Deprecated.

As of JDK 1.1, the preferred way to translate a byte stream in the local encoding into a character stream in Unicode is via the InputStreamReader and BufferedReader classes.

Deprecated.

As of JDK 1.1, the preferred way to translate a Unicode character stream into a byte stream in the local encoding is via the OutputStreamWriter , BufferedWriter , and PrintWriter classes.

Returns the runtime object associated with the current Java application.
Forcibly terminates the currently running Java virtual machine.
Loads the specified filename as a dynamic library.
Loads the dynamic library with the specified library name.
Returns the maximum amount of memory that the Java virtual machine will attempt to use.
De-registers a previously-registered virtual-machine shutdown hook.
Runs the finalization methods of any objects pending finalization.
Deprecated.

This method is inherently unsafe. It may result in finalizers being called on live objects while other threads are concurrently manipulating those objects, resulting in erratic behavior or deadlock.

Returns the total amount of memory in the Java virtual machine.
Enables/Disables tracing of instructions.
Enables/Disables tracing of method calls.

Methods inherited from class java.lang.Object

Method Detail

getRuntime
public static Runtime getRuntime()

Returns the runtime object associated with the current Java application. Most of the methods of class Runtime are instance methods and must be invoked with respect to the current runtime object.

exit
public void exit(int status)

Terminates the currently running Java virtual machine by initiating its shutdown sequence. This method never returns normally. The argument serves as a status code; by convention, a nonzero status code indicates abnormal termination. The virtual machine’s shutdown sequence consists of two phases. In the first phase all registered shutdown hooks , if any, are started in some unspecified order and allowed to run concurrently until they finish. In the second phase all uninvoked finalizers are run if finalization-on-exit has been enabled. Once this is done the virtual machine halts . If this method is invoked after the virtual machine has begun its shutdown sequence then if shutdown hooks are being run this method will block indefinitely. If shutdown hooks have already been run and on-exit finalization has been enabled then this method halts the virtual machine with the given status code if the status is nonzero; otherwise, it blocks indefinitely. The System.exit method is the conventional and convenient means of invoking this method.

addShutdownHook
public void addShutdownHook(Thread hook)
  • The program exits normally, when the last non-daemon thread exits or when the exit (equivalently, System.exit) method is invoked, or
  • The virtual machine is terminated in response to a user interrupt, such as typing ^C, or a system-wide event, such as user logoff or system shutdown.
removeShutdownHook
public boolean removeShutdownHook(Thread hook)

De-registers a previously-registered virtual-machine shutdown hook.

halt
public void halt(int status)

Forcibly terminates the currently running Java virtual machine. This method never returns normally. This method should be used with extreme caution. Unlike the exit method, this method does not cause shutdown hooks to be started and does not run uninvoked finalizers if finalization-on-exit has been enabled. If the shutdown sequence has already been initiated then this method does not wait for any running shutdown hooks or finalizers to finish their work.

runFinalizersOnExit
@Deprecated public static void runFinalizersOnExit(boolean value)

Deprecated. This method is inherently unsafe. It may result in finalizers being called on live objects while other threads are concurrently manipulating those objects, resulting in erratic behavior or deadlock.

Enable or disable finalization on exit; doing so specifies that the finalizers of all objects that have finalizers that have not yet been automatically invoked are to be run before the Java runtime exits. By default, finalization on exit is disabled. If there is a security manager, its checkExit method is first called with 0 as its argument to ensure the exit is allowed. This could result in a SecurityException.

exec
public Process exec(String command) throws IOException

Executes the specified string command in a separate process. This is a convenience method. An invocation of the form exec(command) behaves in exactly the same way as the invocation exec (command, null, null).

exec
public Process exec(String command, String[] envp) throws IOException

Executes the specified string command in a separate process with the specified environment. This is a convenience method. An invocation of the form exec(command, envp) behaves in exactly the same way as the invocation exec (command, envp, null).

exec
public Process exec(String command, String[] envp, File dir) throws IOException

Executes the specified string command in a separate process with the specified environment and working directory. This is a convenience method. An invocation of the form exec(command, envp, dir) behaves in exactly the same way as the invocation exec (cmdarray, envp, dir), where cmdarray is an array of all the tokens in command . More precisely, the command string is broken into tokens using a StringTokenizer created by the call new StringTokenizer (command) with no further modification of the character categories. The tokens produced by the tokenizer are then placed in the new string array cmdarray , in the same order.

exec
public Process exec(String[] cmdarray) throws IOException

Executes the specified command and arguments in a separate process. This is a convenience method. An invocation of the form exec(cmdarray) behaves in exactly the same way as the invocation exec (cmdarray, null, null).

exec
public Process exec(String[] cmdarray, String[] envp) throws IOException

Executes the specified command and arguments in a separate process with the specified environment. This is a convenience method. An invocation of the form exec(cmdarray, envp) behaves in exactly the same way as the invocation exec (cmdarray, envp, null).

exec
public Process exec(String[] cmdarray, String[] envp, File dir) throws IOException
  • The operating system program file was not found.
  • Access to the program file was denied.
  • The working directory does not exist.
availableProcessors
public int availableProcessors()

Returns the number of processors available to the Java virtual machine. This value may change during a particular invocation of the virtual machine. Applications that are sensitive to the number of available processors should therefore occasionally poll this property and adjust their resource usage appropriately.

freeMemory
public long freeMemory()

Returns the amount of free memory in the Java Virtual Machine. Calling the gc method may result in increasing the value returned by freeMemory.

totalMemory
public long totalMemory()

Returns the total amount of memory in the Java virtual machine. The value returned by this method may vary over time, depending on the host environment. Note that the amount of memory required to hold an object of any given type may be implementation-dependent.

maxMemory
public long maxMemory()

Returns the maximum amount of memory that the Java virtual machine will attempt to use. If there is no inherent limit then the value Long.MAX_VALUE will be returned.

gc
public void gc()

Runs the garbage collector. Calling this method suggests that the Java virtual machine expend effort toward recycling unused objects in order to make the memory they currently occupy available for quick reuse. When control returns from the method call, the virtual machine has made its best effort to recycle all discarded objects. The name gc stands for «garbage collector». The virtual machine performs this recycling process automatically as needed, in a separate thread, even if the gc method is not invoked explicitly. The method System.gc() is the conventional and convenient means of invoking this method.

runFinalization
public void runFinalization()

Runs the finalization methods of any objects pending finalization. Calling this method suggests that the Java virtual machine expend effort toward running the finalize methods of objects that have been found to be discarded but whose finalize methods have not yet been run. When control returns from the method call, the virtual machine has made a best effort to complete all outstanding finalizations. The virtual machine performs the finalization process automatically as needed, in a separate thread, if the runFinalization method is not invoked explicitly. The method System.runFinalization() is the conventional and convenient means of invoking this method.

traceInstructions
public void traceInstructions(boolean on)

Enables/Disables tracing of instructions. If the boolean argument is true , this method suggests that the Java virtual machine emit debugging information for each instruction in the virtual machine as it is executed. The format of this information, and the file or other output stream to which it is emitted, depends on the host environment. The virtual machine may ignore this request if it does not support this feature. The destination of the trace output is system dependent. If the boolean argument is false , this method causes the virtual machine to stop performing the detailed instruction trace it is performing.

traceMethodCalls
public void traceMethodCalls(boolean on)

Enables/Disables tracing of method calls. If the boolean argument is true , this method suggests that the Java virtual machine emit debugging information for each method in the virtual machine as it is called. The format of this information, and the file or other output stream to which it is emitted, depends on the host environment. The virtual machine may ignore this request if it does not support this feature. Calling this method with argument false suggests that the virtual machine cease emitting per-call debugging information.

load
public void load(String filename)

Loads the specified filename as a dynamic library. The filename argument must be a complete path name, (for example Runtime.getRuntime().load(«/home/avh/lib/libX11.so»); ). First, if there is a security manager, its checkLink method is called with the filename as its argument. This may result in a security exception. This is similar to the method loadLibrary(String) , but it accepts a general file name as an argument rather than just a library name, allowing any file of native code to be loaded. The method System.load(String) is the conventional and convenient means of invoking this method.

loadLibrary
public void loadLibrary(String libname)

Loads the dynamic library with the specified library name. A file containing native code is loaded from the local file system from a place where library files are conventionally obtained. The details of this process are implementation-dependent. The mapping from a library name to a specific filename is done in a system-specific manner. First, if there is a security manager, its checkLink method is called with the libname as its argument. This may result in a security exception. The method System.loadLibrary(String) is the conventional and convenient means of invoking this method. If native methods are to be used in the implementation of a class, a standard strategy is to put the native code in a library file (call it LibFile ) and then to put a static initializer:

static

within the class declaration. When the class is loaded and initialized, the necessary native code implementation for the native methods will then be loaded as well. If this method is called more than once with the same library name, the second and subsequent calls are ignored.

getLocalizedInputStream
@Deprecated public InputStream getLocalizedInputStream(InputStream in)

Deprecated. As of JDK 1.1, the preferred way to translate a byte stream in the local encoding into a character stream in Unicode is via the InputStreamReader and BufferedReader classes.

Creates a localized version of an input stream. This method takes an InputStream and returns an InputStream equivalent to the argument in all respects except that it is localized: as characters in the local character set are read from the stream, they are automatically converted from the local character set to Unicode. If the argument is already a localized stream, it may be returned as the result.

getLocalizedOutputStream
@Deprecated public OutputStream getLocalizedOutputStream(OutputStream out)

Deprecated. As of JDK 1.1, the preferred way to translate a Unicode character stream into a byte stream in the local encoding is via the OutputStreamWriter , BufferedWriter , and PrintWriter classes.

Creates a localized version of an output stream. This method takes an OutputStream and returns an OutputStream equivalent to the argument in all respects except that it is localized: as Unicode characters are written to the stream, they are automatically converted to the local character set. If the argument is already a localized stream, it may be returned as the result.

Java™ Platform
Standard Ed. 7

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2020, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.

Что такое среда выполнения для Java (JRE)?

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

Почему JRE является столь важной?

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

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

Пакет средств разработки Java

JDK – это набор программных инструментов, которые можно использовать для разработки Java-приложений. Вы можете использовать JDK в своей среде разработки, скачав и установив его. Выберите версию программного обеспечения JDK, соответствующую версии Java, которую хотите использовать. Например, Java Standard Edition, или Java SE, требует Java SE JDK.

Виртуальная машина Java

JVM – это программное обеспечение, которое выполняет программу Java построчно. Разработчики настраивают параметры JVM для управления ресурсами программы при запуске Java-приложения. Например, вы можете изменить настройку памяти JVM и проверить, сколько внутренней памяти используют ваши Java-приложения во время выполнения.

Роль JRE в языке программирования Java

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

Разница между JRE, JVM и JDK

JDK – это программный слой над JRE, который содержит компилятор, отладчик и другие инструменты, обычно встречающиеся в любой среде разработки программного обеспечения. В JDK вы пишете код с использованием синтаксиса, подобного английскому языку. JDK компилирует его и передает байт-код в JRE. В отличие от этого, JRE содержит библиотеки классов, вспомогательные файлы и JVM. Здесь используются эти программные компоненты для запуска байт-кода на любом устройстве.

Как работает JRE?

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

ClassLoader

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

Верификатор байткода

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

Переводчик

После успешной загрузки байткода интерпретатор Java создает инстанс JVM, который запускает программу Java на базовой машине.

Из каких компонентов состоит JRE?

Помимо основных компонентов, среда выполнения для Java (JRE) содержит несколько других программных компонентов, которые помогают более эффективно выполнять Java-программы. Далее приведены некоторые примеры.

Инструменты разработки

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

Java 2D

Java 2D – это интерфейс прикладных задач (API), который можно использовать для рисования двумерной графики и создания прекрасных пользовательских интерфейсов, игр, анимации и специальных эффектов на языке Java.

Swing

Swing – это легкий графический интерфейс пользователя (GUI), который обеспечивает гибкую, удобную для пользователя настройку.

Abstract Window Toolkit

Abstract Window Toolkit (AWT) – это графический интерфейс, который можно использовать для создания объектов пользовательского интерфейса, таких как кнопки, окна и полосы прокрутки.

Решения по развертыванию

JRE включает технологии, которые упрощают процесс выпуска изменений программного обеспечения для пользователей приложений. Эти технологии также обеспечивают расширенную поддержку обновлений в приложении. Технологии развертывания, такие как Java Web Start и плагин Java, включены как часть установки JRE. Эти технологии упрощают активацию приложений, а также обеспечивают расширенную поддержку будущих обновлений JRE. Далее приведены некоторые примеры.

Java Web Start

С помощью Java Web Start вы можете запускать полнофункциональные приложения одним щелчком мыши из веб-браузера.

Плагин Java

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

Библиотеки языков и утилит

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

Система коллекций

Система коллекций представляет собой единую архитектуру, включающую интерфейсы для улучшения хранения и обработки данных приложений.

API предпочтений

API предпочтений позволяет нескольким пользователям на одной машине определять собственную группу предпочтений приложений.

Ведение журналов

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

Архив Java

Архив Java (JAR) – это независимый от платформы формат файлов, позволяющий объединять несколько файлов для уменьшения размера файлов приложений и значительного повышения скорости загрузки.

Интеграционные библиотеки

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

Java IDL

Язык Java Interface Definition Language (IDL), который основан на архитектуре Common Object Request Broker Architecture (CORBA), поддерживает распределенные объекты данных, то есть объекты, которые взаимодействуют на разных платформах по сети. Например, Java IDL позволяет объектам, написанным на Java, взаимодействовать с объектами, написанными на другом языке, таком как C, C++ или COBOL.

Подключение к базам данных Java

Разработчики используют API Java Database Connectivity (JDBC) для написания приложений, которые могут обращаться к удаленным базам данных, электронным таблицам и файлам.

Java Naming and Directory Interface

Java Naming and Directory Interface (JNDI) – это сервис каталогов, позволяющий клиентам создавать переносимые приложения, которые получают информацию из внешних баз данных, используя правила именования.

Что такое AWS SDK для Java?

Пакет средств разработки ПО (SDK) AWS для Java упрощает использование сервисов AWS, предоставляя упорядоченный набор библиотек, с которыми знакомы разработчики Java. AWS SDK for Java также поддерживает более высокий уровень абстракций для упрощения разработки. Доступны библиотеки Java с открытым исходным кодом, ориентированные на AWS, а также примеры кода и справочное руководство по API Java.

Примеры кода AWS SDK для Java 2.0 на GitHub содержат примеры на языке Java и реальные примеры работы с сервисами AWS, которые ускорят разработку собственных приложений. Кроме того, справочник AWS SDK по Java API описывает работу API в новейшей версии AWS SDK для Java. Кроме того, приводятся образцы запросов, ответов и список ошибок для поддерживаемых сетевых протоколов.

Что такое runtime java

Набор инструментов разработки на Java (JDK), виртуальная машина (JVM) и среда выполнения (JRE) образуют вместе мощную тройку компонентов платформы для разработки и запуска Java-приложений. В этом кратком руководстве вы узнаете о JRE — среде выполнения Java.

Фактически, среда выполнения — это часть программного обеспечения, предназначенная для запуска другого программного обеспечения. Как среда выполнения для Java, JRE содержит библиотеки классов, загрузчик классов и виртуальную машину Java. В этой системе:

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

Мы углубимся в то, как эти компоненты работают вместе в следующих разделах.
Установка JDK, JRE и JVM

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

Что такое среда выполнения?

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

Принцип WORA в Java

Раньше принцип WORA (англ. «write once, run anywhere – написал один раз, запускай везде») считался революционным, но сегодня это норма для большинства программных систем.

Среда выполнения Java

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

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

Если коротко, то JRE — это мета-OS для Java-программ. Это классический пример абстракции — абстрагирование базовой ОС в согласованную платформу для запуска приложений Java.

Как JRE работает с JVM

Виртуальная машина Java — программное обеспечение, отвечающее за выполнение Java-программ. JRE — это программа, которая берет ваш Java-код, объединяет его с необходимыми библиотеками и запускает JVM для его выполнения.

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

В этом многоуровневом представлении JVM создается средой выполнения Java. С точки зрения пакета, JRE содержит JVM, как показано на рисунке:

Установка и использование JRE

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

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

Версии JRE

JRE обновляется с каждой новой версией Java, и номера ее версий совпадают с версиями платформы Java. Например, JRE 15 запускает Java 15. Существование множества пакетов JDK (например Enterprise Edition или Standard Edition) не касается JRE. Большинство компьютеров используют JRE, разработанную для Java SE, которая может запускать любое приложение Java независимо от того, как оно было разработано. Большинство мобильных устройств поставляются с JRE для Java ME, которая предварительно установлена на мобильном устройстве и недоступна для загрузки.

После того, как JRE установлена, вы можете узнать ее версию с помощью командной строки, введя в терминале команду java -version . В POSIX-системах вы всегда можете проверить место установки с помощью which java (работает и в win).

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

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