About java runtime environment

What is a Java runtime environment (JRE)?

A Java™ runtime environment (JRE) is a set of components to create and run a Java application. A JRE is part of a Java development kit (JDK).

A JRE is made up of a Java virtual machine (JVM), Java class libraries, and the Java class loader. JDKs are used to develop Java software; JREs provide programming tools and deployment technologies; and JVMs execute Java programs.

A brief history of Java

Java is an object-oriented programming language created in 1995 that developers and programmers use to communicate instructions to a computer. Java remains one of the most popular programming languages today.

Why use a Java runtime environment?

In order for software to execute a program, it needs an environment to run in—usually an operating system (OS) like Linux, Unix, Microsoft Windows, or MacOS. With no other supporting environments, programs are constrained by the capabilities of the OS and it’s resources (such as memory and program files).

A JRE acts as a kind of translator and facilitator between the Java program and the OS.

Learn more about Java at Red Hat Developer

How does a Java runtime environment work?

A Java runtime environment runs on top of the OS and provides additional Java-specific resources. It abstracts the OS and creates a consistent platform on which to run and deploy Java applications. The 3 components of the JRE work together within this environment to successfully run a Java application.

Читайте также:  Test if file exists in java

The Java class libraries contain collections of prewritten code that can be called when needed. The class loader connects class libraries with the JVM and loads them into the JVM while the program is running. The JVM then executes the code.

Why Red Hat?

Because our Red Hat Runtimes product supports all kinds of Java development, including the Red Hat build of OpenJDK, and support for popular Java frameworks like Quarkus, Spring Boot, Eclipse Vert.x, and more.

Red Hat Runtimes provides a set of comprehensive frameworks, runtimes, and programming languages for cloud-native application development. Java developers can integrate their apps with capabilities included in Red Hat Runtimes—like single sign-on, distributed messaging, and in-memory caching.

Источник

README Java(TM) Platform, Standard Edition Runtime Environment Version 6

The Java(TM) Platform, Standard Edition Runtime Environment (JRE(TM)), excluding the JavaFX(TM) runtime, is intended for software developers and vendors to redistribute with their applications.

The Java SE Runtime Environment contains the Java virtual machine, runtime class libraries, and Java application launcher that are necessary to run programs written in the Java programming language. It is not a development environment and does not contain development tools such as compilers or debuggers. For development tools, see the Java SE Development Kit (JDK(TM)). The JRE installation triggers the download of the JavaFX runtime. The JavaFX runtime is also available separately, and is not part of the JRE. For information on JavaFX, and how to make changes, go to: http://java.com/javafx

Deploying Applications with the Java SE Runtime Environment

When you deploy an application written in the Java programming language, your software bundle will probably consist of the following parts:

Your own class, resource, and data files.The Java SE Runtime Environment.An installation procedure or program.

You already have the first part, of course. The remainder of this document covers the other two parts.

Java Platform, Standard Edition Runtime Environment (JRE)

To run your application, a user needs the Java SE Runtime Environment.. Use and redistribution of the Java SE Runtime Environment is subject to the Oracle Binary Code License Agreement for the Java SE Platform Products. The JavaFX runtime is only required to run applications written in the JavaFX scripting language. You must not redistribute JavaFX runtime with your application. Likewise, you must not redistribute pre-release or beta versions of Java SE Runtime Environment.

The final step in the deployment process occurs when the software is installed on an individual user’s system. Installation consists of copying software onto the user’s system, then configuring the user’s system to support that software. You should ensure that your installation procedure does not overwrite existing JRE installations, as they may be required by other applications.

Required vs. Optional Files

The files that make up the Java SE Runtime Environment are divided into two categories: required and optional. Optional files may be excluded from redistributions of the Java SE Runtime Environment at the vendor’s discretion.

The following section contains a list of the files and directories that may optionally be omitted from redistributions with the Java SE Runtime Environment. All files not in these lists of optional files must be included in redistributions of the runtime environment.

Optional Files and Directories

The following files may be optionally excluded from redistributions. These files are located in the jre1.6.0_ directory, where is the update version number. Solaris and Linux filenames and separators are shown. Windows executables have the «.exe» suffix. Corresponding files with _g in the name can also be excluded. The corresponding main pages should be excluded for any excluded executables (with paths listed below beginning with bin/ , for the Solaris(TM) Operating System and Linux).

 lib/charsets.jar Character conversion classes lib/ext/ sunjce_provider.jar - the SunJCE provider for Java Cryptography APIs localedata.jar - contains many of the resources needed for non US English locales ldapsec.jar - contains security features supported by the LDAP service provider dnsns.jar - for the InetAddress wrapper of JNDI DNS provider bin/rmid Java RMI Activation System Daemon bin/rmiregistry Java Remote Object Registry bin/tnameserv Java IDL Name Server bin/keytool Key and Certificate Management Tool bin/kinit Used to obtain and cache Kerberos ticket-granting tickets bin/klist Kerberos display entries in credentials cache and keytab bin/ktab Kerberos key table manager bin/policytool Policy File Creation and Management Tool bin/orbd Object Request Broker Daemon bin/servertool Java IDL Server Tool bin/javaws, lib/javaws/ and lib/javaws.jar Java Web Start

When redistributing the JRE on Microsoft Windows as a private application runtime (not accessible by other applications) with a custom launcher, the following files are also optional. These are libraries and executables that are used for Java support in Internet Explorer and Mozilla family browsers; these files are not needed in a private JRE redistribution.

 bin\java.exe bin\javaw.exe bin\javaws.exe bin\javacpl.exe bin\jucheck.exe bin\jusched.exe bin\wsdetect.dll bin\NPJPI*.dll (The filename changes in every release) bin\NPJava11.dll bin\NPJava12.dll bin\NPJava13.dll bin\NPJava14.dll bin\NPJava32.dll bin\NPOJI610.dll bin\RegUtils.dll bin\axbridge.dll bin\deploy.dll bin\jpicom.dll bin\javacpl.cpl bin\jpiexp.dll bin\jpinscp.dll bin\jpioji.dll bin\jpishare.dll lib\deploy.jar lib\plugin.jar lib\javaws.jar lib\javaws\messages.properties lib\javaws\messages_de.properties lib\javaws\messages_es.properties lib\javaws\messages_fr.properties lib\javaws\messages_it.properties lib\javaws\messages_ja.properties lib\javaws\messages_ko.properties lib\javaws\messages_sv.properties lib\javaws\messages_zh_CN.properties lib\javaws\messages_zh_HK.properties lib\javaws\messages_zh_TW.properties lib\javaws\miniSplash.jpg

— Redistributable JDK(TM) Files

The limited set of files from the Java SE Development Kit (JDK) listed below may be included in vendor redistributions of the Java SE Runtime Environment. All paths are relative to the top-level directory of the JDK. The corresponding main pages should be included for any included executables (with paths listed below beginning with bin/ ,for the Solaris(TM) Operating System and Linux).

jre/lib/cmm/PYCC.pf
Color profile. This file is required only if one wishes to convert between the PYCC color space and another color space.

All .ttf font files in the jre/lib/fonts directory. Note that the LucidaSansRegular.ttf font is already contained in the Java SE Runtime Environment, so there is no need to bring that file over from the JDK.

jre/lib/audio/soundbank.gm
This MIDI soundbank is present in the JDK, but it has been removed from the Java SE Runtime Environment in order to reduce the size of the Runtime Environment’s download bundle.

However, a soundbank file is necessary for MIDI playback, and therefore the JDK’s soundbank.gm file may be included in redistributions of the Runtime Environment at the vendor’s discretion.

These alternative soundbanks may be included in redistributions of the Java SE Runtime Environment.

The javac bytecode compiler, consisting of the following files:

 bin/javac [Solaris(TM) Operating System and Linux] bin/sparcv9/javac [Solaris Operating System (SPARC(R) Platform Edition)] bin/amd64/javac [Solaris Operating System (AMD)] bin/javac.exe [Microsoft Windows] lib/tools.jar [All platforms]

The Annotation Processing Tool, consisting of the following files:

 lib/tools.jar [All platforms] bin/apt [Solaris(TM) Operating System and Linux] bin/sparcv9/apt [Solaris Operating System (SPARC(R) Platform Edition)] bin/amd64/apt [Solaris Operating System (AMD)] bin/apt.exe [Microsoft Windows]

lib/jconsole.jar
The Jconsole application. NOTE: The Jconsole application requires the dynamic attach mechanism.

The dynamic attach mechanism consisting of the following files:

 lib/tools.jar [All platforms] jre/lib/sparc/libattach.so [Solaris(TM) Operating System (SPARC(R) Platform Edition) and Linux] jre/lib/sparcv9/libattach.so [Solaris(TM) Operating System (SPARC(R) Platform Edition) and Linux] jre/lib/i386/libattach.so [Solaris(TM) Operating System (x86) and Linux] jre/lib/amd64/libattach.so [Solaris(TM) Operating System (AMD) and Linux] jre\bin\attach.dll [Microsoft Windows]

The Java Platform Debugger Architecture implementation consisting of the files shown in the dynamic attach section above, and the following files:

 lib/tools.jar [All platforms] lib/sa-jdi.jar [All platforms] jre/lib/sparc/libsaproc.so [Solaris(TM) Operating System (SPARC(R) Platform Edition) and Linux] jre/lib/sparcv9/libsaproc.so [Solaris(TM) Operating System (SPARC(R) Platform Edition) and Linux] jre/lib/i386/libsaproc.so [Solaris(TM) Operating System (x86) and Linux] jre/lib/amd64/libsaproc.so [Solaris(TM) Operating System (AMD) and Linux]

jre\bin\server\
On Microsoft Windows platforms, the JDK includes both the Java HotSpot(TM) Server VM and Java HotSpot Client VM. However, the Java SE Runtime Environment for Microsoft Windows platforms includes only the Java HotSpot Client VM. Those wishing to use the Java HotSpot Server VM with the Java SE Runtime Environment may copy the JDK’s jre\bin\server folder to a bin\server directory in the Java SE Runtime Environment. Software vendors may redistribute the Java HotSpot Server VM with their redistributions of the Java SE Runtime Environment.

Unlimited Strength Java Cryptography Extension

Due to import control restrictions for some countries, the Java Cryptography Extension (JCE) policy files shipped with the Java SE Development Kit and the Java SE Runtime Environment allow strong but limited cryptography to be used. These files are located at

/lib/security/local_policy.jar /lib/security/US_export_policy.jar

where is the jre directory of the JDK or the top-level directory of the Java SE Runtime Environment.

An unlimited strength version of these files indicating no restrictions on cryptographic strengths is available on the JDK web site for those living in eligible countries. Those living in eligible countries may download the unlimited strength version and replace the strong cryptography jar files with the unlimited strength files.

The cacerts Certificates File

Root CA certificates may be added to or removed from the Java SE certificate file located at

For more information, see The cacerts Certificates File section in the keytool documentation at:

Endorsed Standards Override Mechanism

From time to time it is necessary to update the Java platform in order to incorporate newer versions of standards that are created outside of the Java Community Process(SM) (JCP(SM) http://www.jcp.org/) (Endorsed Standards), or in order to update the version of a technology included in the platform to correspond to a later standalone version of that technology (Standalone Technologies).

The Endorsed Standards Override Mechanism provides a means whereby later versions of classes and interfaces that implement Endorsed Standards or Standalone Technologies may be incorporated into the Java Platform.

For more information on the Endorsed Standards Override Mechanism, including the list of platform packages that it may be used to override, see http://www.oracle.com/technetwork/java/javase/documentation/index.html

The Java™ Runtime Environment (JRE) is a product of Oracle.

Источник

Оцените статью