JRE (Java Runtime Environment)

menu icon

JRE (Java Runtime Environment)

Conozca qué hace Java Runtime Environment (JRE, Entorno de ejecución de Java en español) 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 una computadora y proporciona las bibliotecas de clases y otros recursos que un programa Java específico necesita ejecutar.

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

  • El Kit de desarrollo de 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 siempre incluye un JRE compatible, porque ejecutar 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 pueden elegir otro que satisfaga las necesidades de recursos específicas de sus aplicaciones.

El JRE combina el código Java desarrollado utilizando el JDK con las bibliotecas necesarias para ejecutarla en una JVM y, posteriormente, crea una instancia de la JVM que ejecuta el programa resultante. Las JVM están disponibles para varios sistemas operativos y los programas creados con el JRE se ejecutarán en todos ellos. 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, incluyendo un JRE compatible, de Oracle (enlace externo a IBM).

¿Cómo funciona el JRE?

El JDK y el JRE interactúan entre sí para crear un entorno de ejecución sustentable que permita ejecutar sin problemas aplicaciones basadas en Java en prácticamente cualquier sistema operativo. Los siguientes elementos forman la arquitectura del tiempo de ejecución de JRE:

ClassLoader

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

Verificador de bytecode

El verificador de bytecode asegura el formato y la precisión del código Java antes de que pase al intérprete. En el caso de que el código viole 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 bytecode 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 el JRE?

Además de la máquina virtual de Java, el JRE se compone de una variedad de otras herramientas y funciones de software para sacar el máximo partido a las aplicaciones Java.

Soluciones de implementación

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

Kits de herramientas de desarrollo

El 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) utilizada para dibujar gráficos bidimensionales en lenguaje Java. Los desarrolladores pueden crear interfaces de usuario sofisticadas, efectos especiales, juegos y animaciones.
  • Herramientas de ventana abstracta (AWT): una GUI (interfaz gráfica de usuario) utilizada 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 una variedad de bibliotecas de integración para ayudar a los desarrolladores a crear conexiones de datos sin problemas 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 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 remotas, archivos sin formato y hojas de cálculo.
  • 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 convención de nombres.

Bibliotecas de lenguajes y servicios básicos

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

  • Estructura de colecciones: una arquitectura unificada formada por un conjunto de interfaces diseñadas para mejorar el almacenamiento y el proceso de los datos de aplicación.
  • Servicios de concurrencia: un potente paquete de infraestructura con programas de servicios de hebras de alto rendimiento.
  • API de preferencias: una API persistente ligera y multiplataforma que permite a varios usuarios de la misma máquina definir su propio grupo de preferencias de aplicación.
  • Registro: produce informes de registro, como fallos de seguridad, errores de configuración y problemas de rendimiento, para analizarlos más detalladamente.
  • Archivado Java (JAR): un formato de archivo independiente de la plataforma que permite que varios archivos se empaqueten 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 empresas, Java sigue siendo una parte vital del desarrollo de aplicaciones y proporciona una base sólida a la hora de crear soluciones portátiles y escalables. También puede tener un papel clave en la modernización de aplicaciones en la ruta hacia la nube.

Dé el siguiente paso:

Empiece hoy mismo con una cuenta de IBM Cloud.