¿Qué es el entorno de ejecución de Java (JRE)?

Personas que trabajan en una concurrida oficina de planta abierta

¿Qué es JRE?

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

El 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 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 en vivo. Cada JRE incluye un JRE predeterminado, pero los desarrolladores pueden elegir otro que satisfaga las necesidades específicas de recursos de sus aplicaciones.

El JRE combina el código Java creado mediante el JDK con las bibliotecas necesarias para ejecutarlo en una JVM y, a continuación, 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 ejecutan en todos ellos. De este modo, el entorno de tiempo de ejecución de Java es lo que permite que un programa Java se ejecute en cualquier sistema operativo sin modificaciones.

Puede descargar el JDK, incluido un JRE compatible, de Oracle.

Las últimas novedades sobre tecnología, respaldadas por conocimientos de expertos

Manténgase al día sobre las tendencias más importantes e intrigantes del sector en materia de IA, automatización, datos y mucho más con el boletín Think. Consulte la Declaración de privacidad de IBM.

¡Gracias! Se ha suscrito.

Su suscripción se enviará en inglés. Encontrará un enlace para darse de baja en cada boletín. Puede gestionar sus suscripciones o darse de baja aquí. Consulte nuestra Declaración de privacidad de IBM para obtener más información.

¿Cómo funciona JRE?

El JDK y el JRE interactúan entre sí para crear un tiempo de ejecución sostenible que permite la ejecución fluida de aplicaciones basadas en Java en prácticamente cualquier sistema operativo. Estos atributos componen la arquitectura de tiempo de ejecución de JRE:

ClassLoader

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

Verificador de bytecode

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

Intérprete

Una vez que el bytecode se carga 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.

Desarrollo de aplicaciones

Suba a bordo: desarrollo de aplicaciones empresariales en la nube

En este vídeo, el Dr. Peter Haumer explica cómo se desarrollan las aplicaciones empresariales modernas en la nube híbrida mediante la demostración de diferentes componentes y prácticas, como IBM Z Open Editor, IBM Wazi y Zowe. 

¿En qué consiste JRE?

Además de la máquina virtual Java, JRE se compone de otras herramientas y características de software de soporte para aprovechar al máximo sus 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 plug-in, que simplifican la activación de aplicaciones y ofrecen 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) que se utiliza para dibujar gráficos bidimensionales en el lenguaje Java. Los desarrolladores pueden crear ricas interfaces de usuario, 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 interfaz gráfica de usuario ligera que utiliza un amplio conjunto de widgets para ofrecer personalizaciones flexibles.

Bibliotecas de integración

El entorno de tiempo de ejecución de Java proporciona varias bibliotecas de Integración para ayudar a los desarrolladores a crear conexiones de datos fluidas entre sus aplicaciones y servicios. Algunas de estas bibliotecas incluyen:

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

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

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

Bibliotecas de lenguajes y servicios

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

  • Marco de colecciones: una arquitectura unificada que se compone de una colección de interfaces diseñadas para mejorar el almacenamiento y el proceso de los datos de las aplicaciones.

  • Servicios de concurrencia: un potente paquete de marco con servicios de subprocesamiento de alto rendimiento.

  • API de preferencias: una API persistente, ligera y multiplataforma que permite a varios usuarios de un mismo ordenador definir su propio grupo de preferencias de aplicación.

  • Información de registro: paquete que produce informes de registro (como fallos de seguridad, errores de configuración y rendimiento) para análisis más detallado.

  • Java Archive (JAR): un formato de archivo independiente de la plataforma que permite agrupar varios archivos en formato JAR, lo que mejora significativamente la velocidad de descarga y reduce el tamaño de los archivos.
Soluciones relacionadas
IBM Enterprise Application Service for Java

Un servicio totalmente gestionado y de inquilino único para desarrollar y entregar aplicaciones Java.

Explore las aplicaciones Java
Soluciones DevOps

Utilice el software y las herramientas de DevOps para crear, implementar y gestionar aplicaciones nativas de la nube en varios dispositivos y entornos.

Explore las soluciones DevOps
Servicios de desarrollo de aplicaciones Enterprise

El desarrollo de aplicaciones en la nube significa crear una vez, iterar rápidamente e implementar en cualquier lugar.

Servicios de desarrollo de aplicaciones
Dé el siguiente paso

Los servicios de consultoría de desarrollo de aplicaciones en la nube de IBM Cloud ofrecen orientación experta y soluciones innovadoras para agilizar su estrategia de nube. Colabore con los expertos en nube y desarrollo de IBM para modernizar, escalar y acelerar sus aplicaciones, y obtenga resultados transformadores para su empresa.

Explore los servicios de desarrollo de aplicaciones Comience a crear con IBM Cloud de forma gratuita