¿Qué es Java Runtime Environment (JRE)?
Descubra qué ofrece Java Runtime Environment (JRE) y cómo funciona con otros componentes de la plataforma Java para ejecutar aplicaciones Java.
Suscríbase al boletín de IBM
fondo negro y azul
¿Qué es JRE?

El entorno de ejecución de Java, Java Runtime Environment o JRE, es una capa de software que se ejecuta encima del software del sistema operativo de un sistema y proporciona las bibliotecas de clases y otros recursos que un programa Java específico necesita para ejecutarse.

JRE es uno de los tres componentes interrelacionados para desarrollar y ejecutar programas Java. Los otros dos componentes son los siguientes:

  • El kit de desarrollo Java,  Java Development Kit o JDK, es un conjunto de herramientas para desarrollar aplicaciones Java. Los desarrolladores eligen los JDK por versión de Java y por paquete o edición: Java Enterprise Edition (Java EE), Java Special Edition (Java SE) o Java Mobile Edition (Java ME). Cada JDK incluye siempre un JRE compatible, porque la ejecución de un programa Java forma parte del proceso de desarrollo de un programa Java.

  • La máquina virtual Java, Java Virtual Machine o JVM, ejecuta aplicaciones Java en directo. Cada JRE incluye un JRE predeterminado, pero los desarrolladores son libres de elegir otro según las necesidades de recursos concretas de sus aplicaciones.

JRE combina el código Java creado utilizando el JDK con las bibliotecas necesarias para ejecutarlo en una JVM y, a continuación, crea una instancia de JVM que ejecuta el programa resultante. Hay disponibles JVM para varios sistemas operativos, y los programas creados con JRE se ejecutarán en todas ellas. De este modo, Java Runtime Environment es lo que permite que un programa Java se ejecute en cualquier sistema operativo sin modificaciones.

Puede descargar el JDK, incluido un JRE compatible, en Oracle (enlace externo a ibm.com).

¿Cómo funciona JRE?

JDK y JRE interactúan entre sí para crear un entorno de ejecución sostenible que permita la ejecución sin interrupciones de aplicaciones basadas en Java en prácticamente cualquier sistema operativo. La arquitectura de tiempo de ejecución de JRE está formada por lo siguiente:

ClassLoader

Java ClassLoader carga dinámicamente todas las clases necesarias para ejecutar un programa Java. Como las clases Java solo se cargan en la memoria cuando son necesarias, JRE utiliza ClassLoaders para automatizar este proceso bajo demanda.

Verificador de código de bytes

El verificador de código de bytes garantiza el formato y la precisión del código Java antes de pasarlo al intérprete. En el caso de que el código vulnere la integridad del sistema o los derechos de acceso, la clase se considerará dañada y no se cargará.

Intérprete

Después de que el código de bytes se cargue correctamente, el intérprete de Java crea una instancia de la JVM que permite que el programa Java se ejecute de forma nativa en la máquina subyacente.

¿En qué consiste JRE?

Además de la máquina virtual Java, JRE está formado por una amplia variedad de características y herramientas de software de soporte que permiten aprovechar al máximo las aplicaciones Java.

Soluciones de despliegue

Como parte de la instalación de JRE, se incluyen tecnologías de despliegue como Java Web Start y Java Plugin, que simplifican la activación de las aplicaciones y proporcionan soporte avanzado para futuras actualizaciones de Java.

Kits de herramientas de desarrollo

JRE también contiene kits de herramientas diseñados para ayudar a los desarrolladores a mejorar su interfaz de usuario. Algunos de estos kits de herramientas incluyen:

  • Java 2D: una interfaz de programación de aplicaciones (API) que se utiliza para dibujar gráficos bidimensionales en lenguaje Java. Los desarrolladores pueden crear interfaces de usuario complejas, efectos especiales, juegos y animaciones.

  • Abstract Window Toolkit (AWT): una GUI (interfaz gráfica de usuario) que se utiliza para crear objetos, botones, barras de desplazamiento y ventanas.

  • Swing: otra GUI ligera que utiliza un amplio conjunto de widgets para ofrecer personalizaciones flexibles y fáciles de usar.

Bibliotecas de integración

Java Runtime Environment proporciona distintas bibliotecas de integración para ayudar a los desarrolladores a crear conexiones de datos sin interrupciones entre sus aplicaciones y servicios. Algunas de estas bibliotecas son:

  • Java IDL (CORBA): utiliza Common Object Request Architecture para dar soporte a objetos distribuidos escritos en el lenguaje de programación Java.

  • API de Java Database Connectivity (JDBC): proporciona herramientas para que los desarrolladores escriban aplicaciones con acceso a bases de datos de relaciones, hojas de cálculo y archivos sin formato remotos.

  • Java Naming and Directory Interface (JNDI): una interfaz de programación y un servicio de directorio que permite a los clientes crear aplicaciones portátiles que pueden captar información de bases de datos utilizando convenios de denominación.

Bibliotecas de lenguajes y programas de utilidad

Con el JRE se incluyen los paquetes java.lang. y java.util. que son fundamentales para el diseño de aplicaciones Java, la gestión, la supervisión y el control de versiones de paquetes. Algunos de estos paquetes incluyen:

  • Collections Framework: una arquitectura unificada formada por una colección de interfaces diseñadas para mejorar el almacenamiento y el proceso de los datos de aplicación.

  • Concurrency Utilities: un potente paquete de marco de trabajo con programas de utilidad de generación de hebras de alto rendimiento.

  • Preferences API: una API persistente ligera y multiplataforma que permite a varios usuarios en la misma máquina definir su propio grupo de preferencias de aplicación.

  • Logging: genera informes de registro como, por ejemplo, fallos de seguridad, errores de configuración y problemas de rendimiento, para realizar más análisis.

  • Java Archive (JAR): un formato de archivo independiente de la plataforma que permite empaquetar varios archivos en formato JAR, lo que mejora significativamente la velocidad de descarga y reduce el tamaño del archivo.
Soluciones relacionadas
Desarrolle y modernice aplicaciones

Proporcione las competencias y las herramientas que su equipo necesita para impulsar la innovación y hacer que su empresa avance.

Explore las aplicaciones de creación y modernización
OpenJDK e IBM Runtimes for Business

IBM Runtimes for Business proporciona soporte para entornos de ejecución Java de código abierto, además de supervisión y gestión de aplicaciones Java.

Explore OpenJDK e IBM Runtimes for Business
IBM® WebSphere Hybrid Edition

Descubra cómo impulsar un desarrollo nativo en cloud, modernizar las aplicaciones y dar soporte a las aplicaciones existentes con WebSphere® Hybrid Edition.

Explore IBM® WebSphere Hybrid Edition
Recursos ¿Qué es Java?

Descubra por qué Java sigue siendo una plataforma de desarrollo tan popular y cómo acelera los proyectos y admite una amplia gama de tecnologías emergentes.

¿Qué es Java Spring Boot?

Descubra cómo simplificar el desarrollo de microservicios y aplicaciones web con Java Spring Framework.

Dé el siguiente paso

Para muchas organizaciones, Java sigue siendo una parte vital del desarrollo de aplicaciones y proporciona una base sólida para crear soluciones portátiles y escalables. Explore OpenJDK e IBM Runtimes for Business, que proporcionan un soporte comercial fiable y rentable para implementar, supervisar y gestionar aplicaciones Java.

Más información sobre OpenJDK e IBM Runtimes for Business