¿Qué es Java Runtime Environment (JRE)?

Personas que trabajan en una concurrida oficina de planta abierta

¿Qué es JRE?

Java Runtime Environment, o JRE, es una capa de software que se ejecuta sobre el software del sistema operativo de una computadora y proporciona las bibliotecas de clases y otros recursos que un programa Java específico requiere para ejecutarse.

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

  •  Java Development Kit, o JDK, es un conjunto de herramientas para desarrollar aplicaciones Java. Los desarrolladores eligen 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 es parte del proceso de desarrollo de un programa Java.

  • Java Virtual Machine, o JVM, ejecuta aplicaciones Java en tiempo real. Cada JRE incluye un JRE predeterminado, pero los desarrolladores pueden elegir otro que satisfaga las necesidades específicas de recursos de sus aplicaciones.

JRE combina el código Java creado mediante JDK con las bibliotecas necesarias para ejecutarlo en JVM y luego crea una instancia de JVM que ejecuta el programa resultante. JVM están disponibles para múltiples sistemas operativos, y los programas creados con JRE se ejecutan en todos ellos. De esta manera, 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 JDK, incluido un JRE compatible, desde Oracle.

Las últimas noticias tecnológicas, respaldadas por los insights de expertos

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

¡Gracias! Ya está suscrito.

Su suscripción se entregará en inglés. En cada boletín, encontrará un enlace para darse de baja. 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?

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

ClassLoader

Java ClassLoader carga dinámicamente todas las clases necesarias para ejecutar un programa Java. Dado que las clases de Java solo se cargan en la memoria cuando son necesarias, 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 JVM que permite que el programa Java se ejecute de forma nativa en la máquina subyacente.

Desarrollo de aplicaciones

Entérese: desarrollo de aplicaciones empresariales en la nube

En este video, el Dr. Peter Haumer analiza cómo es el desarrollo de aplicaciones empresariales modernas en la nube híbrida y hace una demostración de diferentes componentes y prácticas, incluidos 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 despliegue

Como parte de la instalación de JRE se incluyen tecnologías de despliegue 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

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 interfaces de usuario sofisticadas, efectos especiales, juegos y animaciones.

  • Abstract Window Toolkit (AWT): un kit de herramientas de 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 rico conjunto de widgets para ofrecer personalizaciones flexibles.

Bibliotecas de integración

Java Runtime Environment 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 la arquitectura Common Object Request Architecture para admitir objetos distribuidos escritos en 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 servicio de directorio que ayuda a los clientes a crear aplicaciones portátiles que pueden obtener información de bases de datos mediante convenciones de nomenclatura.

Bibliotecas de idiomas y utilidades

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

  • Infraestructura de colecciones: una arquitectura unificada compuesta por un conjunto de interfaces diseñadas para mejorar el almacenamiento y el procesamiento de los datos de la aplicación.

  • Utilidades de concurrencia: un potente paquete de infraestructura con utilidades de subprocesos de alto rendimiento.

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

  • Registro: un paquete que genera informes de registro, como fallas de seguridad, errores de configuración y problemas de rendimiento, para su posterior análisis.

  • 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
Desarrollo de aplicaciones impulsado por IA

watsonx.ai permite a los equipos de desarrollo de aplicaciones integrar perfectamente la IA en sus flujos de trabajo. Desde la creación de modelos hasta su despliegue, este completo kit de herramientas da soporte a todo el ciclo de vida de la IA.

Explorar watsonx.ai
IBM Z Development and Test Environment

Utilice una plataforma para el desarrollo de aplicaciones de mainframe, pruebas, demostración y entrenamiento en hardware x86.

Explorar el entorno de desarrollo Z
Soluciones de computación en la nube móvil

Descubra la plataforma de desarrollo de aplicaciones móviles de IBM para diseñar, crear prototipos y comercializar aplicaciones de manera rápida y sencilla.

Explorar la nube móvil
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.

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