Si eres un novato en desarrollo de software Java como yo, te han hecho esta pregunta una o dos veces antes (más que probable en un entorno de entrevista). Y si eres como yo, has tratado de distinguir las diferencias y lo has pasado muy mal haciéndolo.
así que voy a intentar dividirlo en piezas manejables del tamaño de un bocado, para que los novatos como tú y yo podamos envolver nuestros cerebros alrededor de estas tres grapas de Java. Comencemos con el significado de estas siglas..,
JDK representa el «Java Development Kit».
JRE significa «Java Runtime Environment».
y JVM es simplemente la «máquina virtual Java».
descomponerlo-el JDK: tanto el JRE como el JVM se pueden alojar dentro del JDK. Un JDK se utiliza para 1) desarrollar 2) Ejecutar y 3) Mostrar código. El JDK es un superconjunto del JRE, y contiene todo lo que está en el JRE, además de herramientas como los compiladores y depuradores necesarios para desarrollar applets y aplicaciones (StackOverflow)., Si eres un desarrollador interesado en crear tus propias aplicaciones o applets Java, querrás instalar un JDK. Para los desarrolladores que deseen trabajar en un entorno de desarrollo integrado (IDE), un JDK incluido con Netbeans se puede descargar desde el Sitio Web de Oracle (Techopedia). Hay diferentes JDKs para adaptarse a una amplia variedad de plataformas. En pocas palabras, el JDK es un entorno de desarrollo de software Java, utilizado por los desarrolladores para crear y administrar aplicaciones/applets.
OK! Ahora vamos a entrar en el JRE: en pocas palabras, el JRE representa el entorno de ejecución de Java., Aquí es donde el código es 1) ejecutado y 2) mostrado. El JRE contiene una máquina virtual Java, bibliotecas de clases y otros archivos de soporte. Es esencial para ejecutar una aplicación/applet Java. De acuerdo con Techopedia, el JRE consta de los siguientes componentes:
- tecnologías de implementación-incluyendo implementación, Java Web Start y Java Plug-in.,
- bibliotecas de integración-incluyendo lenguaje de definición de interfaz (IDL), conectividad de base de datos Java (JDBC), interfaz de nombres y directorios Java (JNDI), Invocación de métodos remotos (RMI), Invocación de métodos remotos a través del Protocolo Inter-Orb de Internet (RMI-IIOP) y scripting.
- otras bibliotecas base-incluyendo Soporte internacional, entrada / salida (e/s), mecanismo de extensión, Beans, extensiones de administración de Java (JMX), interfaz nativa de Java (JNI), Matemáticas, redes, mecanismo de anulación, seguridad, serialización y Java para procesamiento XML (XML JAXP).,
- bibliotecas base Lang y util-incluyendo lang y util, control de versiones de administración, zip, instrumento, reflexión, colecciones, utilidades de concurrencia, archivo Java (JAR), registro, API de preferencias, objetos Ref y Expresiones Regulares.
- máquina virtual Java (JVM), incluidas las máquinas virtuales cliente y servidor de Java HotSpot.
Los JREs más nuevos alojan varios miles de clases y se han introducido API completamente nuevas.
finalmente, hablemos de la unidad más pequeña de las tres: ¡la JVM!, La máquina virtual Java muestra aplicaciones/applets Java interpretando esencialmente código de bytes Java en código máquina. Es responsable de todas las cosas como recolección de basura, verificación de límites de matriz, etc. JVM depende de la plataforma (StackOverflow). Se llama «virtual» porque proporciona una interfaz de máquina que no depende del sistema operativo subyacente y la arquitectura de hardware de la máquina. Gracias a la JVM, el código Java se puede escribir una vez y ejecutar en cualquier lugar (en cualquier máquina)., En pocas palabras, la JVM tiene dos funciones principales 1) para permitir que los programas Java se ejecuten virtualmente en cualquier dispositivo o sistema operativo y 2) para administrar y optimizar la memoria del programa.