¿Cuál es la diferencia entre las cinco versiones de Java en esta página para Ubuntu?

9

Quiero instalar Java en mi computadora para poder desarrollar programas y encontré esta página en Java en la documentación de la comunidad Ubuntu . Dice:

Java es una tecnología de Oracle (anteriormente: Sun Microsystems). Hay varias implementaciones, de las cuales cinco serán discutidas aquí:

  • OpenJDK : El objetivo principal del proyecto OpenJDK es producir una implementación de código abierto de la Plataforma Java SE (6 y 7). Esta es la versión predeterminada de Java que usa Ubuntu y es la más fácil de instalar.
  • Oracle (Sun) Java 6 : Oracle (Sun) Java 6 es la implementación de referencia para Java 6.
  • Oracle Java 7 : Oracle Java 7 es la implementación de referencia para Java 7.
  • IBM Java : IBM Java es la solución Java preferida en máquinas PowerPC. Es una reimplementación con un compilador Just-In-Time. Solo está disponible en el sitio web de IBM.
  • GNU Compiler : un compilador de Java creado por GNU. Solo los desarrolladores deberían tener que instalar esto.

Leí el contenido pero aún estoy un poco confundido. ¿Son todas versiones diferentes de JDK? Si no, ¿entonces qué?

¿Y cuál preferirías?

Programación de novatos
fuente

Respuestas:

6

¿Son todas versiones diferentes de JDK? Si no, ¿entonces qué?

Son implementaciones diferentes de Java / kits de desarrollo para Java (JDK). Java es una plataforma estándar, y todos ellos implementan esa plataforma a su manera. De estos:

  • OpenJDK y GNU Compiler son los únicos que son de código abierto. Normalmente los prefiero: la facilidad de instalación ( apt-geto el Centro de software) es un factor importante.
    • OpenJDK en particular se deriva principalmente del código fuente "oficial" de Java que Oracle / Sun abre de origen; Está respaldado por Oracle.
  • Oracle Java 6 y 7 son "el" Java, por así decirlo, de la compañía que inventó Java (que era Sun, pero Oracle los compró hace un tiempo). Es por eso que se llaman implementaciones de referencia. Es posible que desee usarlos si también está utilizando Oracle JDK en otra plataforma, o si OpenJDK le está dando problemas.
    • Los 6 y 7 se refieren a versiones del lenguaje / plataforma. 7 es más nuevo y tiene más funciones, pero se ha probado menos; 6 es extremadamente maduro y estable. Preferiría 6 si recién estás comenzando.
  • Al contrario de la wiki, IBM fabrica JDK / JRE para todas las plataformas, aunque la suya podría ser la única para PowerPC.

Si está comenzando en la programación, casi cualquiera de estos será una buena opción. Vaya a OpenJDK solo porque es fácil de instalar.

La única experiencia que tengo para diferenciarlos es compilar en un entorno de bajos recursos (128-192 MB de RAM, un VPS); Encontré que Oracle Java 6 JDK funcionó mejor para un programa (es decir, tuvo éxito) e IBM Java 6 JDK para otro ...

ish
fuente
1
Solo una corrección rápida: para Java 7, la implementación de referencia es OpenJDK, no Oracle JDK. Y sí, IBM tiene implementaciones para todas las plataformas principales, excepto para Solraris de Oracle (Sun).
intelekt
1

Explica qué es cada uno en la página, pero esencialmente todos son Java de Orcale desarrollados por diferentes grupos.

  • OpenJDK es el desarrollo de código abierto de la edición Java de Oracles.
  • Java 6 y 7 son solo versiones de la edición estándar de Oracles Java. & es el más actualizado y lanzado el año pasado en junio o julio, creo.
  • La versión de IBM se utilizó principalmente para PowerPC, ya que sus estados probablemente no le importen mucho a menos que tenga un procesador PowerPC.
  • El compilador GNU es para desarrolladores que están codificando en Java. Es solo un compilador para Java. Si no sabe qué es esto, entonces probablemente no lo necesite a menos que quiera aprender sobre el desarrollo de Java.

Yo uso OpenJDK porque funciona mejor con Minecraft. No hay otra razón ja.

Cuenta

LinuxBill
fuente
1

Hasta donde yo sé, openJDK es casi lo mismo que Sun JDK, la principal diferencia es que es de código abierto. No puede usar un IBM JDK si es un usuario de PC, ya que está restringido en PowerPC. El gcj no se considera un Buena elección para mí, ya que parece aún inmadura.

Hongxu Chen
fuente
0

Esto probablemente enojará a muchas de las personas más de FLOSS, pero aquí está mi respuesta corta.

Oracle adquirió Sun, Oracle (Sun) Java 6 es solo la versión anterior de Oracle Java 7. Dicho esto ... A menos que tenga una buena razón para no usar la versión de Oracle. Todo lo demás es un intento de replicar lo que Oracle ha hecho y ninguno de ellos es tan bueno.

En cuanto a desglosar la calidad. GNU Java es el peor intento de JVM que he visto ... a menos que disfrutes de bloqueos frecuentes ... no lo uses. IBM Java - nunca lo usó honestamente, por lo que no creo que OpenJDK - si va a usar una implementación de código abierto de JVM, usaría OpenJDK y la versión 7.x.

csgeek
fuente
0

FWIW, he tenido menos problemas con Oracle / Sun Java que cualquier otra versión. OpenJDK funciona la mayor parte del tiempo. Nunca conseguí que GNU Java funcionara. IBM Java parece bueno, pero no tengo mucha experiencia con él.

WebUpd8te tiene un PPA que facilita la instalación a través de apt-get. A menos que tenga una razón para usar una versión diferente, como licencias, iría con Oracle Java.

JimBeam823
fuente