Java SE 6 vs. JRE 1.6 vs. JDK 1.6 - ¿Qué significan?

178

Veo muchos términos diferentes de Java flotando. Necesito instalar el JDK 1.6. Entendí que Java 6 == Java 1.6. Sin embargo, cuando instalo Java SE 6, obtengo una JVM que informa como la versión 11.0. ¿Quién puede resolver la locura?

Joe Schneider
fuente
12
Hay un buen diagrama conceptual de Java (con enlaces en los que se puede hacer clic) que también puede ayudar.
informatik01

Respuestas:

55

Cuando escribe "java -version", verá tres números de versión: la versión java (en la mía, eso es " 1.6.0_07"), la versión Java SE Runtime Environment ("build 1.6.0_07-b06") y la versión HotSpot (en la mía, eso es " build 10.0-b23, mixed mode") Sospecho que el "11.0" que está viendo es la versión HotSpot.

Actualización: HotSpot es (o solía ser, ahora parece que lo usan para referirse a toda la VM) el compilador justo a tiempo que está integrado en la máquina virtual Java. Solo Dios sabe por qué Sun le da un número de versión separado.

Paul Tomblin
fuente
77
Entonces, ¿cuál es la diferencia entre JVM 1.6 y JVM 11.0? ¿Qué es el punto de acceso?
Joe Schneider
Gracias, esa fue la confusión: dos números de versión diferentes.
Joe Schneider
1
En realidad, HotSpot no es un JIT. JIT implica que la compilación se lleva a cabo antes de la ejecución. HotSpot primero utiliza la interpretación para ejecutar y analizar el código antes de compilar / optimizar partes seleccionadas del programa.
John Nilsson
173
  • JDK - Kit de desarrollo de Java
  • JRE - Java Runtime Environment
  • Java SE - Edición estándar de Java

SE define un conjunto de capacidades y funcionalidades; existen ediciones más complejas (Enterprise Edition - EE) y otras más simples (Micro Edition - ME - para entornos móviles).

El JDK incluye el compilador y otras herramientas necesarias para desarrollar aplicaciones Java; JRE no lo hace. Entonces, para ejecutar una aplicación Java que otra persona proporciona, necesita JRE; Para desarrollar una aplicación Java, necesita JDK.

Editado : como Chris Marasti-Georg señaló en un comentario, puede encontrar mucha información en Sun's sitio web Java , y en particular en la sección Java SE , (2a opción, Kit de desarrollo Java SE (JDK) 6 Actualización 10) .


Editado el 06/04/2011: El mundo gira, y Oracle ahora es administrado por Oracle, que compró Sun. Más adelante este año, sun.comse supone que el dominio se oscurece. La nueva página (basada en una redirección) es esta página de Java en Oracle Tech Network. (Véase también java.com ).


Editado el 11-01-2013: Y el mundo sigue girando (a pesar del 2012-12-21), y he aquí, JRE 6 está a punto de llegar a su fin de soporte. Oracle dice que no habrá más actualizaciones públicas de Java 6 después de febrero de 2013.

Dentro de una versión dada de Java, esta respuesta sigue siendo válida. JDK es el kit de desarrollo de Java, JRE es el entorno de ejecución de Java, Java SE es la edición estándar, y así sucesivamente. Pero la versión 6 (1.6) se está volviendo anticuada.

Editado el 29/04/2015: Y con otro par de revoluciones alrededor del sol, también ha llegado el momento de finalizar el soporte para Java SE 7. En abril de 2015, Oracle afirmó que ya no estaba proporcionando actualizaciones públicas para Java SE 7. El final tentativo de las actualizaciones públicas para Java SE 8 es marzo de 2017, pero esa fecha final está sujeta a cambios (más tarde, no antes).

Jonathan Leffler
fuente
1
Entonces, si necesito JDK 1.6, ¿qué instalo? ¡Instalar Java SE 6 me da una JVM que informa como la versión 11.0!
Joe Schneider
1
Debe ir al sol y descargar JDK 1.6 o 6, lo que sea que lo indiquen.
Chris Marasti-Georg
Creo que lo que viene con Java SE 6 debería ser el JDK correcto, a pesar de las diferencias internas de número de versión.
Jonathan Leffler
java.sun.com/javase/downloads/index.jsp 2da opción, Java SE Development Kit (JDK) 6 Actualización 10
Chris Marasti-Georg
1
@Pacerier: ¿fue eso cierto en octubre de 2008? Además, el componente principal del JDK es el compilador de Java, ¿no es así?
Jonathan Leffler
103

Esto podría ayudar a alguien:

Estoy instalando la última versión de Java en mi sistema para el desarrollo, y actualmente es Java SE 7. Ahora, vamos a sumergirnos en esta "locura", como usted lo dice ...

Todos estos son los mismos (cuando los desarrolladores hablan de Java para el desarrollo):

  • Java SE 7
  • Java SE v1.7.0
  • Kit de desarrollo Java SE 7

A partir de Java v1.5:

  • v5 = v1.5.
  • v6 = v1.6.
  • v7 = v1.7.

Y podemos suponer que esto permanecerá para futuras versiones.

A continuación, para desarrolladores, descargue JDK, no JRE.

JDK contendrá JRE. Si necesita JDK y JRE, obtenga JDK. Ambos se instalarán desde la única instalación de JDK, como verá a continuación.

Como alguien mencionado anteriormente:

  • JDK = Kit de desarrollo de Java (los desarrolladores lo necesitan, este es usted si codifica en Java)
  • JRE = Java Runtime Environment (los usuarios necesitan esto, hoy en día todos los usuarios de computadoras)
  • Java SE = Edición estándar de Java

Aquí están los enlaces paso a paso que seguí (un paso lleva al siguiente, todo esto es para una sola descarga) para descargar Java para el desarrollo (JDK):

  1. Visite "Descargas de Java SE": http://www.oracle.com/technetwork/java/javase/downloads/index.html
  2. Haga clic en "Descargar JDK" y visite "Descargas de Java SE Development Kit 7": http://www.oracle.com/technetwork/java/javase/downloads/java-se-jdk-7-download-432154.html (tenga en cuenta que seguir el enlace del paso 1 lo llevará a un enlace diferente ya que las actualizaciones de JDK 1.7, versiones posteriores, ya están fuera)
  3. Aceptar acuerdo :)
  4. Haga clic en "Java SE Development Kit 7 (Windows x64)": http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-windows-x64.exe (para mi Windows 7 de 64 bits sistema)
  5. ¡Ahora está descargando (con suerte la última) JDK para su sistema! :)

Tenga en cuenta que los enlaces anteriores son solo para fines de referencia, para mostrar el método paso a paso de lo que se necesita para descargar el JDK.

E instale con la configuración predeterminada para:

  • "C: \ Archivos de programa \ Java \ jdk1.7.0 \" (JDK)
  • “C: \ Archivos de programa \ Java \ jre7 \” (JRE) <--- ¿por qué solicitó una nueva carpeta de instalación? es JRE!

Recuerde desde arriba que JDK contiene JRE, lo que tiene sentido si sabe cuáles son ambos. De nuevo, ver arriba.

Después de su instalación, verifique dos veces "C: \ Archivos de programa \ Java" para ver ambas carpetas. Ahora ya sabes qué son y por qué están allí.

Sé que escribí esto para novatos, pero disfruto sabiendo las cosas con todo detalle, así que espero que esto ayude.

Xonatron
fuente
8
esta respuesta debe ser
mejorada
Recientemente tuve que instalar un jre para ejecutar uno de los otros instaladores y luego tuve que instalar una versión de 32 bits para que uno de los otros instaladores funcione. La versión que estoy usando al final es glassfish 4, que todavía no parece proporcionar javax.persistence. Luego resultó que necesitaba Maven, que descomprimes y luego configuras algunas variables de entorno. ¡Que desastre!
JonnyRaa
Me parece que Java SE y Java SDK son uno y el mismo paquete.
galmok
20

Una historia breve y quizás incorrecta de las versiones de Java

  • Java es una plataforma. Se compone de dos productos: el kit de desarrollo de software y el entorno de tiempo de ejecución.

  • Cuando se lanzó Java por primera vez, aparentemente solo se llamaba Java . Si eras un desarrollador, también conocías la versión, que era un "1.0" normal y luego un "1.1". Los dos productos que formaban parte de la plataforma también recibieron nombres:

    • JDK - "Kit de desarrollo de Java"
    • JRE - "Java Runtime Environment"
  • Aparentemente, los cambios en la versión 1.2 son tan significativos que comenzaron a llamar a la plataforma como Java 2 .

    • La "distribución" predeterminada de la plataforma recibió el apodo "estándar" para contrastarla con sus hermanos. Entonces tenías tres plataformas:

      • "Java 2 Standard Edition (J2SE)"
      • "Java 2 Enterprise Edition (J2EE)"
      • "Java 2 Mobile Edition (J2ME)"
    • El JDK fue renombrado oficialmente como "Kit de desarrollo de software Java 2".

  • Cuando salió la versión 1.5, los trajes decidieron que debían "cambiar el nombre" del producto. Entonces, la plataforma Java obtuvo dos versiones: la versión del producto "5" y la versión del desarrollador "1.5" (Sí, la regla se menciona explícitamente: "descarte el '1.'). Sin embargo, el" 2 "se retuvo en el así que ahora la plataforma se llama oficialmente "Java 2 Platform Standard Edition 5.0 (J2SE 5.0)" .

    • Las demandas también se dieron cuenta de que la comunidad de desarrollo no estaba cambiando su cambio de nombre del JDK. Pero en lugar de revertir su cambio, simplemente deciden eliminar el "2" del nombre de los productos individuales, que ahora se convierten en "J2SE Development Kit 5.0 (JDK 5.0)" y "J2SE Runtime Environment 5.0 (JRE 5.0)" .
  • Cuando salió la versión 1.6, alguien se dio cuenta de que tener dos números en el nombre era extraño. Entonces deciden eliminar por completo el 2 (y el sufijo ".0"), y terminamos con la "Plataforma Java, Edición estándar 6 (Java SE 6)" que contiene el "Kit de desarrollo Java SE 6 (JDK 6)" y el "Java SE Runtime Environment 6 (JRE 6)" .

  • La versión 1.7 no hizo nada estúpido. Si tuviera que adivinar, el próximo gran cambio sería abandonar el "SE", para que el ciclo se complete y el JDK vuelva a llamarse "Kit de desarrollo de Java".

Notas

  • Por simplicidad, se omitieron un montón de signos de marca registrada. Así que asuma Java ™, JDK ™ y JRE ™.

  • SO parece tener problemas para representar listas anidadas.

Referencias

Epílogo

Simplemente suelte el "1". de versiones impresas por javac -versiony java -versiony ya está listo.

Manav
fuente
3
Santa vaca Pensé que solo Microsoft tenía a las personas sin hogar locas inventando nombres de productos.
Stabledog
2
Es una locura. Nunca he podido comprender esto sin tener que buscarlo explícitamente cada vez.
Saluda a Sangha el
4

Con el lanzamiento de Java 5, la versión del producto se hizo diferente de la versión del desarrollador como se describe aquí

kit de herramientas
fuente
3

Java SE Runtime es para el usuario final, por lo que necesita la versión Java JRE, la primera versión de Java fue la 1, luego 1.1 - 1.2 - 1.3 - 1.4 - 1.5 - 1.6, etc. y generalmente cada versión se nombra por versión, por lo que JRE 6 significa Java jre 1.6, de todos modos existe la versión de actualización, por ejemplo 1.6 actualización 45, que se llama java jre 6u45.

Por lo que sé, prefirieron usar el número 6 en lugar de 1.6 para reflejar mejor el nivel de madurez, estabilidad, escalabilidad, seguridad y más

mario
fuente