JDK, JVM, JRE en Java Environment
Recientemente, subestimé a Android y me puse a la cara con un montón de conceptos JDK, JVM, JRE, SDK, NDK y ADT. Después de un poco, JDK, JVM y JRE son cosas en el entorno Java, mientras que SDK, NDK y ADT son cosas utilizadas en el desarrollo de Android. Distinguemos JDK, JVM y JRE.
Consejos: ¿Dónde está después de Mac instalado en Java? Vea la imagen a continuación
Primero, hablemos de JDK
JDK (Java Development Kit) es un kit de herramientas de desarrollo de software (SDK) para el lenguaje Java.
JDK es el núcleo de todo Java, incluido el entorno de tiempo de ejecución de Java, un montón de herramientas de Java (Java/Java/JDB, etc.) y Bibliotecas de clase básica de Java (es decir, API Java).
Hay tres versiones:
SE (J2SE), Standard Edition, Standard Edition, es una versión que generalmente usamos. A partir de JDK 5.0, se renombra Java SE.
EE (J2EE), Enterprise Edition, versión empresarial, utiliza este JDK para desarrollar aplicaciones J2EE, comenzando con JDK 5.0 y renombrado a Java EE.
Me (J2ME), Micro Edition, se usa principalmente para aplicaciones Java en dispositivos móviles y dispositivos integrados. Ha sido renombrado Java ME desde JDK 5.0.
Hablemos de JRE
JRE es la abreviatura del entorno de tiempo de ejecución de Java. El entorno de tiempo de ejecución de Java (incluido el complemento Java) es el producto de Sun, que incluye dos partes: Java Runtime Environment y Java Plug-in. Javaruntimeenvironment (JRE) es una plataforma Java en la que las aplicaciones se pueden ejecutar, probar y transferir. Incluye Java Virtual Machine (JVM), Java Core Class Biblioteca y archivos de soporte. No incluye herramientas de desarrollo (JDK) -Compilers, depugadores y otras herramientas. JRE requiere un software auxiliar-Java Plug-in-para ejecutar applets en el navegador.
Sin JDK, los programas Java no se pueden compilar, pero los programas se pueden ejecutar en sistemas con entornos JRE. Entonces, cuando solo necesite ejecutar un programa o applet Java, descargue e instale JRE. Si desea desarrollar el software Java usted mismo, descargue el JDK.
Finalmente, aprendamos sobre JVM
JVM es Java Virtual Machine (Java Virtual Machine). JVM es una especificación para los dispositivos de computación. Es una computadora ficticia que se implementa emulando y simulando varias funciones informáticas en computadoras reales.
Una característica muy importante del idioma Java es su inconsistencia con la plataforma. El uso de máquinas virtuales Java es la clave para lograr esta característica. Si se ejecuta un lenguaje general de alto nivel en diferentes plataformas, debe compilarse en diferentes códigos de objetos. Después de introducir la máquina virtual Java Language, el idioma Java no necesita ser recompilado cuando se ejecuta en diferentes plataformas. El idioma Java utiliza la máquina virtual Java para bloquear la información relacionada con la plataforma específica, de modo que el compilador de lenguaje Java puede ejecutarse sin modificar en múltiples plataformas simplemente generando el código de objeto (código de byte) que se ejecuta en la máquina virtual Java. Cuando una máquina virtual Java ejecuta bytecode, interpreta el bytecode como instrucciones de la máquina en la plataforma específica. Es por eso que Java puede "compilar y correr en todas partes".
Este es un diagrama de relaciones de los tres:
La situación real de nuestro desarrollo es: Después de desarrollar nuestro propio programa Java usando JDK (llamado API Java), compilamos nuestro archivo Java de texto en Java Bytecode a través del compilador (JAVAC) en el JDK, ejecute estos bytes de Java Bytecodes en el JRE, y el JVM se realiza estos byteses y los mapea a las llamadas de instrucción CPU o OS.
JVM (Java Virtual Machine), es decir, Java Virtual Machine
El JVM bloquea la información relacionada con la plataforma del sistema operativo específico, para que los programas Java puedan ejecutarse sin modificar en múltiples plataformas simplemente generando el código de objeto (código de byte) que se ejecuta en Java Virtual Machines. Cuando JVM ejecuta Bytecode, en realidad interpreta el Bytecode como instrucciones de la máquina en la plataforma específica. El conjunto de instrucciones de una compilación de una máquina virtual es muy similar al conjunto de instrucciones de una compilación de un microprocesador.
JVM es la base de un lenguaje Java multiplataforma (la "plataforma" aquí se refiere a diferentes sistemas operativos). Para ejecutar programas Java en diferentes sistemas operativos, debe instalar el JVM correspondiente en diferentes sistemas operativos. Por lo tanto, el JVM tiene la versión de Windows, la versión Mac, la versión de Linux, etc.
JRE (entorno de tiempo de ejecución de Java), es decir, Java Running Environment
JRE incluye las bibliotecas de clase Core requeridas por Java Virtual Machines y los programas Java. Si desea ejecutar un programa Java desarrollado, solo necesita instalar JRE en su computadora.
Resumen: JRE = JVM+Biblioteca de clases Java
JDK (Java Development Kit), es decir, Java Development Kit
Se proporciona JDK para que los desarrolladores de Java lo usen, incluidos JRE y algunas herramientas de desarrollo de Java, como herramientas de compilación (javac.exe), herramientas de embalaje (jar.exe), etc. Entonces, después de instalar JDK, ya no necesita instalar JRE. Como estudiantes del idioma Java, debemos instalar JDK. Sin JDK, no podemos compilar y ejecutar el código Java. Esta es también la razón por la cual casi todos los tutoriales introductorios de Java nos recomiendan instalar JDK.
Resumen: jdk = jre+herramientas de desarrollo java
Gracias por leer, espero que pueda ayudarte. ¡Gracias por su apoyo para este sitio!