Entorno de ejecución de Java
| Java
| |
|---|---|
| Datos básicos
| |
| desarrollador | Oráculo |
| Versión actual |
1.8.0_291 ( 20 de abril de 2021 ) |
| sistema operativo | Windows , Solaris , Linux , macOS |
| lenguaje de programación | Java , C |
| Licencia | Freeware |
| Se habla alemán | sí |
| www.oracle.com/de/ | |
El entorno de ejecución de Java ( Inglés Java Runtime Environment , poco JRE ) es el entorno de ejecución de Java . Con él, los programas ( aplicaciones Java ) se ejecutan en gran medida de forma independiente del sistema operativo subyacente. Representa una plataforma de software , también llamada plataforma Java . Define las interfaces de programación de aplicaciones (API) de forma clara e independiente de la máquina y contiene la máquina virtual (JVM) .
Hasta la versión 8, el entorno de ejecución de Java se entregaba por separado y tenía que instalarse especialmente en el sistema de destino. A partir de la versión 9, el entorno de ejecución se entrega e instala junto con el kit de desarrollo de Java . Para ejecutar una aplicación Java en un sistema en el que no hay un entorno de ejecución de Java instalado, la aplicación de Java debe estar vinculada al entorno de ejecución de Java.
propiedades
En general, el entorno de ejecución consiste en la Máquina Virtual Java ( Java VM ), que es responsable de ejecutar las aplicaciones Java, una interfaz de programación ( API , para Application and Programming Interface ) y otras bibliotecas de programas . La API proporciona las clases estándar del lenguaje de programación Java , como " java.lang.String". La máquina virtual y la API deben coordinarse entre sí y, por lo tanto, se combinan para formar el JRE. Esto se puede ver como una computadora virtual, que proporciona varios procesadores en una máquina virtual y una API como la capa superior de la biblioteca.
El entorno de ejecución de Java no contiene ninguna herramienta de desarrollo, como compiladores . Para la programación con Java es Java Development Kit ( JDK ) o cualquier otro entorno de programación, que también Java - bytecode generado necesaria.
Funciones especiales para Microsoft Windows
El Panel de control de Java es una extensión del panel de control de Microsoft Windows. Allí se pueden realizar los ajustes para el entorno de ejecución de Java (JRE). Durante la instalación, el archivo jpicpl32.cpl o javacpl.cpl se agrega al directorio del sistema de Windows.
Ediciones
Desde la aparición de Java 2, el entorno de ejecución de Java en la forma en que Sun lo pone a disposición se ha dividido en ediciones , ya que las aplicaciones Java se pueden utilizar en diferentes dispositivos finales con diferentes características, desde dispositivos móviles hasta computadoras de escritorio y servidores. :
- Tarjeta Java de la plataforma Java
- Permite que los subprogramas de la tarjeta Java ejecuten un estándar de Java reducido siguiendo los subprogramas de Java en las tarjetas con chip.
- Plataforma Java, Micro Edition ( Java ME )
- Plataforma para los denominados productos de consumo integrados , como teléfonos inteligentes o tabletas.
- Plataforma Java, edición estándar ( Java SE )
- Colección de interfaces de programación Java para uso general en PC, servidores o dispositivos similares. Java SE sirve como base para las tecnologías Java EE y Java ME.
- Java Platform, Enterprise Edition ( Java EE )
- Java SE, enriquecido con interfaces de programación para la ejecución basada en transacciones de aplicaciones web y corporativas multicapa.
Las ediciones Standard y Enterprise usan la misma máquina virtual ( Java Virtual Machine , JVM), pero la interfaz de programación en Enterprise Edition se complementa con numerosas bibliotecas y programas adicionales (especialmente para el servidor de aplicaciones ). Jakarta EE (anteriormente Java EE) debe entenderse principalmente como una especificación, para cuyo uso se utilizan principalmente productos comerciales de otros fabricantes o software de código abierto.
La información de la versión se describe en el artículo / sección Java Technology #Versions .
Otras variantes
Además de las implementaciones de Sun Microsystems ( Oracle desde 2010 ), que se suelen utilizar como referencia, existen JVM generales de IBM . Para Java en tiempo real o para sistemas embebidos especiales , se conocen tanto implementaciones gratuitas de la plataforma Java ( Kaffe , JamaicaVM ) como diversos proyectos de empresas y universidades. Los componentes Java de la plataforma Android para dispositivos móviles forman otra plataforma Java que solo consta parcialmente de componentes SUN.
API
Sun Microsystems proporciona una serie de interfaces de programación ( API ) para la implementación de proyectos de software y diferencia entre aquellas que son relevantes para todo tipo de aplicaciones Java (Core Java Technology) y aquellas que son solo para aplicaciones de escritorio son relevantes (Desktop Java Technology) .
Tecnología del núcleo
Sun agrupa las interfaces de programación que son útiles para aplicaciones de escritorio y de servidor bajo el término Tecnología Core Java . Por tanto, estas interfaces de programación forman el núcleo de la tecnología Java.
seguridad
Se prestó mucha atención al tema de la seguridad en los primeros días de Java, por ejemplo, los subprogramas de Java viven en una caja de arena , que se supone que evita que causen daños a la computadora local. Las extensiones más recientes se refieren a los temas de cifrado y verificación de la identidad de los participantes de la comunicación ( autenticación ).
- El Cryptography Extension Java (JCE) define las interfaces de programación para los varios métodos de cifrado.
- El Servicio de autenticación y autorización de Java (JAAS) define interfaces de programación para el establecimiento seguro de la identidad de un usuario.
- El Secure Socket Extension de Java (JSSE) permite la comunicación segura a través de SSL .
Acceso a la base de datos
Acceso de Java a SQL : bases de datos a través de una interfaz de programación llamada Java Database Connectivity (JDBC, conectividad de base de datos de Java en alemán).
Depuración
Se definió una arquitectura completa llamada Arquitectura de depurador de plataforma Java para conectar depuradores a máquinas virtuales .
documentación
La herramienta Javadoc genera archivos HTML a partir del texto fuente de Java , que brindan una buena descripción general de las bibliotecas de clases completas . La posibilidad de agregar complementos definidos libremente significa que también se pueden generar otros tipos de archivos a partir del texto fuente de Java con poco esfuerzo.
Otros componentes básicos
Además de los procedimientos de internacionalización , principalmente mediante el uso de Unicode y la clase ResourceBundle (ver Plataforma Java, Edición estándar ), otras interfaces de programación básicas pertenecen a la plataforma Java.
- La invocación de método remoto (RMI) es un procedimiento para llamar a objetos que se ejecutan en otras computadoras.
- La interfaz nativa de Java (JNI) ofrece la posibilidad de llamar a bibliotecas que han sido programadas en C , C ++ u otros lenguajes.
- La interfaz de directorio y nombres de Java (JNDI) es una interfaz de Java uniforme para muchos servicios de directorio diferentes .
Paquetes opcionales de Java y tecnología relacionada
Además de los componentes centrales de la plataforma Java, existen componentes opcionales que agregan funcionalidad adicional.
- Las Java Management Extensions (JMX) definen una interfaz para la administración del sistema mediante la cual un programa Java puede ser monitoreado o reconfigurado durante la ejecución, siempre que lo admita. JMX ha sido un componente central desde la versión 5 de Java.
- JMX Remote es una extensión de JMX a través de los límites de la máquina.
- La API de comunicaciones de Java permite el acceso a interfaces de hardware como puertos paralelos o puertos USB .
- API de telefonía Java la conexión de teléfonos a programas Java, por ejemplo para desarrollar aplicaciones para centros de llamadas .
Tecnología de escritorio
Sun resume las interfaces de programación, que se requieren principalmente para aplicaciones con una interfaz gráfica de usuario , bajo el término Tecnología Java de escritorio .
Implementación (distribución e instalación de software automatizadas)
La implementación es la distribución automatizada de software a muchas computadoras y la instalación en ellas. El entorno de ejecución de Java JRE ofrece dos métodos para esto:
- El complemento de Java permite ejecutar subprogramas de Java en los navegadores de Internet .
- Java Web Start inicia las aplicaciones Java directamente desde Internet . Los almacena localmente para que solo se vuelvan a cargar cuando haya una nueva versión.
Componentes
Con JavaBeans , Java tiene su propio marco para componentes de software .
GUI
Las bibliotecas de clases estándar para la creación de interfaces gráficas de usuario ( interfaz gráfica de usuario , GUI) usando Java llamadas Java Foundation Classes (JFC). Además del kit básico de herramientas de ventana abstracta (AWT), contienen otras bibliotecas de clases:
- Swing es una extensa biblioteca de componentes GUI. Swing integra procedimientos para uso de personas discapacitadas, que se resumen bajo el término accesibilidad .
- Java 2D es una biblioteca de clases para crear gráficos bidimensionales.
- Procedimiento para la internacionalización de las interfaces gráficas de usuario.
Salida de sonido
Existe una biblioteca de clases llamada Java Sound para generar archivos de sonido, por ejemplo, en formato MIDI o WAV .
aplicaciones web
Las aplicaciones web ( aplicaciones basadas en servidor cuya interacción con el usuario tiene lugar a través de un navegador) suelen constar de JSP ( JavaServer Pages ) y servlets . Las interfaces y clases necesarias se encuentran en Jakarta EE . Junto con los JavaBeans, es muy fácil escribir aplicaciones que cumplan con el patrón MVC . Una gran cantidad de marcos se basan en esta API. Desde 2004, la plataforma Java con JavaServer Faces tiene su propia API para aplicaciones web basadas en el patrón MVC.
Persistencia
La Enterprise Edition proporciona el EJB (EJB) en fin de forma permanente Guardar ( "persistir") de datos. Hay Entity Beans (para mapear objetos técnicos o entidades), se utilizan beans de sesión (para mapear el flujo de trabajo ) y Message Driven Beans (para comunicación asincrónica ). El enfoque bastante engorroso y no orientado a objetos se está revisando por completo con la última especificación EJB 3.0. Existen numerosos marcos que ofrecen alternativas a la persistencia ( por ejemplo, JDO o Hibernate ).
Las bibliotecas del núcleo de Java ofrecen dos métodos más como mecanismos de persistencia elementales:
- La serialización de árboles de objetos en archivos binarios a través de clases del paquete "
java.io" y - la serialización de JavaBeans en archivos XML a través de clases del paquete "
java.beans".
Paquetes opcionales de Java y tecnologías relacionadas
Además de los componentes de la plataforma Java mencionados anteriormente, que siempre deben estar presentes, también hay una serie de componentes opcionales que se pueden instalar si es necesario. Ejemplos:
- El Java Media Framework (JMF) permite la salida de datos multimedia, como vídeos.
- La biblioteca de clases de Java 3D proporciona clases para mostrar gráficos tridimensionales, en movimiento e interactivos.
- Java Advanced Imaging contiene clases para manipular archivos de imagen.
- Java Speech crea un lenguaje hablado a partir del texto.
- El sistema JavaHelp se puede utilizar para crear documentación de ayuda para aplicaciones Java.
Evidencia individual
- ↑ Java de 64 bits para Windows . 20 de abril de 2021 (consultado el 21 de abril de 2021).
- ↑ https://docs.oracle.com/javase/9/tools/jlink.htm
literatura
- Bill Venners: Dentro de la máquina virtual Java. 2ª Edición. McGraw-Hill, Nueva York 1999, ISBN 0-07-135093-4 (El trabajo estándar; versión en línea ; incompleto; agotado como libro)
enlaces web
- Descarga del entorno de ejecución de Java 8 : descripción general de los sistemas operativos compatibles con Java 8