java components java platform
Este tutorial ofrece una descripción detallada de Java como plataforma y sus componentes, es decir, JRE, JDK, máquina virtual Java y la diferencia entre JRE y JDK:
Java ha sido descrito como un lenguaje de programación y también como una plataforma. En nuestro tutorial introductorio, ya comentamos que una plataforma es un entorno de software mediante el cual podemos ejecutar programas o aplicaciones.
En este tutorial, hablaremos de Java como plataforma. También discutiremos los componentes de la plataforma Java y veremos cómo funcionan.
=> Lea la serie de formación Easy Java.
Lo que vas a aprender:
Plataforma Java
La plataforma Java es un software o colección de programas que nos ayudan a ejecutar aplicaciones escritas en lenguaje de programación Java. Una plataforma Java consta de un compilador de Java, un conjunto de bibliotecas y un motor de ejecución.
La plataforma Java es independiente de cualquier sistema operativo en particular, lo que hace que el lenguaje de programación Java sea un lenguaje independiente de la plataforma.
La plataforma Java consta de los siguientes componentes.
- Lenguaje Java
- El kit de desarrollo de Java (JDK)
- El entorno de ejecución de Java (JRE)
- El compilador de Java
- La máquina virtual Java (JVM)
Además de los componentes principales anteriores, la plataforma Java también contiene recolectores de basura, un conjunto de bibliotecas y otros componentes y herramientas adicionales que se requieren para ejecutar de manera eficiente las aplicaciones Java.
informe de seguimiento del tiempo de jira por usuario
Consideremos el siguiente diagrama que muestra la relación entre todos estos componentes.
Entonces, del diagrama anterior, podemos concluir que,
JRE = clases de biblioteca JVM +.
JDK = JRE + Herramientas de desarrollo.
Antes de abordar cada uno de los componentes, comprendamos primero el flujo de ejecución de la ejecución del programa Java.
El siguiente diagrama muestra el flujo de un programa Java.
Entonces, el diagrama anterior muestra un flujo de ejecución simple para un programa Java. Un programa escrito en lenguaje Java es compilado por el compilador de Java (javac). A diferencia de otros compiladores de lenguajes que generan código de máquina después de la compilación, el compilador de Javac genera un archivo de clase que consta de código de bytes.
Ahora, este archivo de clase se entrega a Java Virtual Machine (JVM) que traduce el archivo de clase en un archivo de objeto que contiene código dependiente de la máquina. Entonces este código es ejecutado por la máquina.
Analicemos cada uno de estos componentes en detalle.
Lenguaje Java
Java es un lenguaje de programación que utiliza la plataforma Java. Java es un lenguaje de programación orientado a objetos cuya sintaxis se deriva de C y las características de OOPS se derivan de C ++. Tiene su sintaxis, reglas, formato y paradigma de programación.
En esta serie, aprenderemos todos los conceptos principales de Java y programación en detalle.
El compilador de Java
Este es un compilador para el lenguaje de programación Java y su función es generar archivos de clase Java a partir del código fuente de Java. El archivo de clase Java contiene un código de bytes Java independiente de la plataforma.
Después de generar archivos de clase, JVM carga estos archivos de clase e interpreta el código de bytes o lo compila en código de máquina usando el compilador Just-in-time (JIT).
La máquina virtual Java (JVM)
JVM es el centro del lenguaje de programación Java y la plataforma Java. La JVM convierte el código de bytes en código específico de la máquina (también conocido como código objeto en otros lenguajes de programación).
JVM proporciona la funcionalidad de recolección de basura, administración de memoria, seguridad, etc. JVM es independiente de la plataforma y podemos personalizar su funcionalidad usando una interfaz virtual que proporciona que no depende de la máquina y también es independiente del sistema operativo.
Esta independencia de plataforma de JVM nos permite crear programas Java en una máquina y ejecutarlos en otra máquina (WORA - Write - Once - Run - Anywhere).
El siguiente diagrama ilustra las distintas partes de una JVM.
La JVM está presente en la RAM. Cuando el compilador Java convierte el programa Java en un archivo de clase, es necesario ejecutarlo.
Para su ejecución, el cargador de clases trae el archivo de clase a la Ram. Aquí se verifica el código BYTE para detectar problemas de seguridad. Classloader también se encarga de cargar, vincular e inicializar el programa a ejecutar.
La memoria JVM que se muestra en el diagrama anterior contiene varios componentes como se muestra y ayudan en la ejecución del programa al contener registros de PC que contienen la instrucción actual que se ejecutará, Heap que contiene variables, matrices, etc.
La memoria JVM también contiene el área de método y la pila de método nativo que contiene el código del método y la especificación del idioma nativo, respectivamente. La pila JVM contiene la instancia del programa o el hilo actual. Si hay más de un hilo, cada hilo tendrá su pila JVM.
Una vez que el programa está correctamente vinculado, se pasa al motor de ejecución. El motor de ejecución coopera con la interfaz del método nativo y las bibliotecas de métodos nativos. La interfaz de método nativo es un marco de programación que permite que el código Java llame a bibliotecas y aplicaciones nativas que forman parte de las bibliotecas de métodos nativos.
A continuación, el motor de ejecución convierte el Bytecode en código de máquina nativo utilizando el compilador Just-In-Time (JIT). Entonces el programa es ejecutado por la máquina.
Nota: JIT o El compilador Just-in-time es parte de la máquina virtual Java (JVM). Interpreta una parte del código de bytes que tiene una funcionalidad similar al mismo tiempo. En otras palabras, convierte el código de bytes en código de máquina nativo en el mismo nivel de programación. Esta es la razón por la que se compila Java además de ser un lenguaje interpretado.
El entorno de ejecución de Java (JRE)
JRE, como su nombre indica, es el entorno de ejecución que se requiere para ejecutar programas y aplicaciones Java. JRE consta de Java Virtual Machine (JVM) y binarios y otras clases para ejecutar con éxito programas Java.
JRE es un subconjunto de JDK y no contiene ninguna herramienta de desarrollo como el compilador de Java, el depurador, etc. Por lo tanto, si sus aplicaciones Java se desarrollan en otro lugar y solo necesita ejecutarlas en su máquina, entonces puede instalar JRE por separado. Necesita instalar JDK para esto.
Necesita tener un JRE instalado en su máquina, ya que es el requisito mínimo para ejecutar programas Java en su máquina.
El JRE incluye los siguientes componentes.
- Bibliotecas de código, configuración de propiedades y archivos de recursos : Estos incluyen archivos como charsets.jar, rt.jar, etc.
- Archivos DLL : Utilizado por la máquina virtual del cliente de hotspot Java y la máquina virtual del servidor.
- Archivos de extensión de Java : Por ejemplo, archivos relacionados con la especificación de configuración regional como localedata.jar
- Archivos necesario para la gestión de la seguridad. Por ejemplo, java.policy, java.security
- Clases de soporte de applet.
- Archivos de fuentes True Type : Normalmente lo requiere la plataforma.
Para ejecutar cualquier aplicación / programa escrito en Java, necesita tener JRE instalado en su sistema. JRE depende de la plataforma. Esto significa que debe descargar e instalar JRE que sea compatible con su sistema operativo y arquitectura.
El kit de desarrollo de Java (JDK)
Este es el componente central de cualquier entorno Java. JDK contiene JRE (Java Runtime Environment) junto con el compilador Java, el depurador Java y otras clases principales. JDK se utiliza para el desarrollo de Java, ya que proporciona todo el ejecutable y los binarios, así como las herramientas necesarias para compilar y depurar un programa Java.
JDK es un software específico de plataforma y, por lo tanto, tendremos instaladores de JDK separados para cada sistema operativo.
JDK contiene los siguientes componentes:
- jConsole : Se trata de una consola de gestión y supervisión de Java.
- frasco : Este es el archivador. Esta herramienta se utiliza para empaquetar bibliotecas de clases relacionadas en un solo archivo Jar, así como para administrar archivos Jar.
- jarSigner : Esta herramienta se utiliza para la firma y verificación de jar.
- javap: Esta es una herramienta para el desensamblador de archivos de clases.
- javaws : Lanzador de inicio web Java para aplicaciones JNLP.
- jhat : Herramienta de análisis de montón de Java.
- jrunscript : Shell de script de línea de comandos de Java.
- jstack : Utilidad utilizada para imprimir seguimientos de pila para subprocesos Java.
- Javadoc : Esto genera automáticamente documentación a partir de los comentarios del código fuente.
- appletviewer : Se utiliza para la ejecución y depuración de subprogramas sin un navegador web.
- apto : Herramienta de procesamiento de anotaciones.
- extCheck : Utilidad utilizada para comprobar los conflictos de archivos jar.
- herramienta clave : Con esta utilidad puede manipular Keystore.
- herramienta de política : Esta es una herramienta de creación y gestión de políticas.
- xjc : Esta es una parte de la API de enlace XML (JAXB) que acepta el esquema XML y genera clases Java.
Por lo tanto, puede ver que los componentes de JDK son los que necesitamos nosotros desde el punto de vista del desarrollo.
Como se muestra en el diagrama anterior, el código fuente de Java se convierte en códigos de bytes mediante el compilador de Java, que es parte de JDK. Luego, este código de bytes se pasa a JVM (este proceso ya se describió anteriormente) y desde allí va a JRE donde se ejecuta el código.
Habiendo visto los detalles sobre JDK y JRE, ahora analicemos las diferencias entre JRE y JDK.
JRE Vs JDK
No | JRE | JDK |
---|---|---|
7 | Toma el programa Java compilado / interpretado como entrada y genera salida. | Programa fuente de Java compilado y genera un archivo de clase que luego se entrega a JVM. |
1 | JRE son las siglas de Java Runtime Environment. | JDK son las siglas de Java Development Kit. |
2 | Se utiliza principalmente para la ejecución de programas Java. | Los desarrolladores utilizan JDK para desarrollar programas Java. |
3 | Contiene la máquina virtual Java (JVM) incluida en su interior. | No tiene JVM. |
4 | JRE no tiene un compilador de Java, por lo que no puede compilar programas. | JDK tiene un compilador javac y es responsable de compilar programas. |
5 | Contiene la biblioteca de clases java, el comando java y otra infraestructura. | JDK contiene herramientas como Javadoc y archiver que se utilizan para desarrollar aplicaciones Java. |
6 | JRE se puede instalar como un programa independiente. | JDK es un instalador independiente y viene incluido con JRE. |
Conclusión
En este tutorial, discutimos los detalles del Java Development Kit (JDK) que viene incluido con Java Runtime Environment (JRE) y el compilador Java. JRE, a su vez, contiene Java Virtual Machine (JVM) que es responsable de convertir el código de bytes generado por el compilador de Java en código específico de la máquina.
Todos estos, incluido el lenguaje Java, son componentes de una entidad principal llamada plataforma Java, que es un entorno que nos ayuda a ejecutar una aplicación Java. También discutimos la arquitectura detallada y el funcionamiento de JVM, así como la ejecución de un programa Java aquí.
=> Eche un vistazo a la guía para principiantes de Java aquí.
Lectura recomendada
- Máquina virtual Java: cómo JVM ayuda a ejecutar aplicaciones Java
- Tutorial de Java SWING: contenedor, componentes y manejo de eventos
- Implementación de Java: creación y ejecución de un archivo JAR de Java
- Modificadores de acceso en Java: tutorial con ejemplos
- Tutorial de reflexión de Java con ejemplos
- Introducción al lenguaje de programación Java - Tutorial en vídeo
- Tutorial de JAVA para principiantes: más de 100 tutoriales prácticos en vídeo de Java
- OOP Java: Introducción a la programación orientada a objetos en Java