JRE (Java Runtime Environment)

menu icon

JRE (Java Runtime Environment)

Descubra qué ofrece Java Runtime Environment (JRE) y cómo funciona con otros componentes de la plataforma Java para ejecutar aplicaciones Java.

¿Qué es JRE (Java Runtime Environment)?

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 necesita un programa específico Java 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 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 o JVM ejecuta aplicaciones Java activas. Cada JRE incluye un JRE predeterminado, pero los desarrolladores son libres de elegir otro según las necesidades de recursos específicas 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 ejecutar un programa Java en cualquier sistema operativo sin modificaciones.

Puede descargar el JDK, incluido un JRE compatible, de Oracle (enlace externo a IBM).

¿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 Interface Definition Language (JavaIDL): 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 JRE, se incluyen los paquetes java.lang. y java.util., que son fundamentales para el diseño de aplicaciones Java, el mantenimiento de versiones de paquetes, la gestión y la supervisión. Algunos de estos paquetes incluyen:

  • Infraestructura de colecciones: 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.
  • Programas de utilidad de concurrencia: un potente paquete de infraestructura con programas de utilidad de hebras de alto rendimiento.
  • API de preferencias: 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.
  • Registros: genera informes de registro como, por ejemplo, fallos de seguridad, errores de configuración y problemas de rendimiento, para realizar más análisis.
  • Archivado Java (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.

JRE e IBM

JRE e IBM Cloud

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. También juega un papel clave en la modernización de aplicaciones en la transición al cloud.

Dé el siguiente paso:

Empiece hoy mismo con una cuenta de IBM Cloud.