Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 19111|Respuesta: 0

[Fuente] Diferencias y conexiones entre JDK, JRE, JVM

[Copiar enlace]
Publicado en 7/4/2015 16:08:49 | | | |
Muchos amigos pueden ser como yo y llevar mucho tiempo usando JAVA, pero la conexión y la diferencia entre JDK, JRE y JVM siempre han sido vagas.
    Hoy escribiré este artículo para aclarar la relación entre los tres.

    JDK : Kit de herramientas para desarrollo de Java. El JDK es el núcleo de todo JAVA, incluyendo el entorno de ejecución de Java, un conjunto de herramientas Java (javac/java/jdb, etc.) y bibliotecas basadas en Java (es decir, las APIs de Java incluyen rt.jar).
    El JDK más convencional es el JDK publicado por Sun; además de Sun, hay muchas empresas y organizaciones que han desarrollado su propio JDK, como empresas extranjeras de IBM que han desarrollado su propio JDK, Taobao nacional también ha desarrollado su propio JDK, varias organizaciones han desarrollado su propio JDK para mejorar algunos aspectos y adaptarse a sus propias necesidades, como se dice que el JDK de IBM es mucho más eficiente que el JDK de SUN. Pero en cualquier caso, aún necesitamos dominar primero el JDK básico de Sun.
    Existen tres versiones del JDK:
J2SE, edición estándar, edición estándar, es una versión que normalmente usamos J2EE, Enterprise Edtion, edición empresarial, usando este JDK para desarrollar aplicaciones J2EE J2ME, microedición, usada principalmente para aplicaciones Java en dispositivos móviles y dispositivos embebidos.

    A menudo usamos JDK para referirnos a Java API, Java API es la interfaz de programación de aplicaciones de Java, de hecho, son algunas clases Java escritas por nuestros predecesores, incluyendo algunas estructuras de lenguaje importantes y gráficos básicos, E/S de red y archivos, etc., que llamamos a estas clases escritas por nuestros predecesores en nuestros propios programas, como base para nuestro propio desarrollo. Por supuesto, cada vez hay más librerías de terceros con mejor rendimiento o funciones más potentes a nuestra disposición.

    JRE: Java Runtime Ambiental. En otras palabras, todos los programas Java deben estar bajo el JRE para poder ejecutarse. Incluye las librerías centrales JVM y JAVA, así como los archivos de soporte. En comparación con el JDK, no incluye herramientas de desarrollo: compiladores, depuradores y otras herramientas.

    JVM: Java Virtual Mechinal (JAVA Virtual Machine). La JVM forma parte del JRE, que es un ordenador ficticio que se implementa simulando diversas funciones informáticas en un ordenador real. La JVM tiene su propia arquitectura de hardware completa, como procesadores, pilas, registros, etc., y también cuenta con un sistema de instrucciones correspondiente. La función principal de la JVM es interpretar su propio conjunto de instrucciones (es decir, el bytecode) y mapearlo al conjunto de instrucciones de la CPU local o a las llamadas al sistema del sistema operativo. El lenguaje Java funciona multiplataforma, que en realidad es un sistema operativo diferente, usando distintas reglas de mapeo JVM para hacerlo independiente del sistema operativo y completamente multiplataforma. A la JVM no le importan los archivos fuente Java de nivel superior, solo le importan los archivos de clase generados por los archivos fuente. El archivo de clases consta de un conjunto de instrucciones de la JVM, una tabla de símbolos y algo de información complementaria.
La siguiente figura ofrece una buena visión general de la relación entre JDK, JRE y JVM:



    La situación real de nuestro desarrollo es que, después de desarrollar nuestro propio programa JAVA usando JDK (llamado JAVA API), compilamos nuestros archivos Java de texto en bytecode JAVA a través del compilador (javac) en el JDK, ejecutamos estos bytecodes JAVA en el JRE, la JVM analiza estos bytecodes y los mapeamos al conjunto de instrucciones de la CPU o a las llamadas al sistema del sistema operativo.





Anterior:clase java.math.BigDecimal
Próximo:Tipos básicos de datos integrados en Java
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com