Was ist der Unterschied zwischen den fünf Java-Versionen auf dieser Seite für Ubuntu?

9

Ich möchte Java auf meinem Computer installieren, damit ich Programme entwickeln kann, und bin auf diese Seite in Java in der Ubuntu-Community-Dokumentation gestoßen . Es sagt:

Java ist eine Technologie von Oracle (früher: Sun Microsystems). Es gibt mehrere Implementierungen, von denen fünf hier diskutiert werden:

  • OpenJDK : Das Hauptziel des OpenJDK-Projekts ist die Erstellung einer Open-Source-Implementierung der Java SE-Plattform (6 und 7). Dies ist die Standardversion von Java, die Ubuntu verwendet und die am einfachsten zu installieren ist.
  • Oracle (Sun) Java 6 : Oracle (Sun) Java 6 ist die Referenzimplementierung für Java 6.
  • Oracle Java 7 : Oracle Java 7 ist die Referenzimplementierung für Java 7.
  • IBM Java : IBM Java ist die bevorzugte Java-Lösung auf PowerPC-Computern. Es ist eine Neuimplementierung mit einem Just-In-Time-Compiler. Es ist nur auf der IBM Website verfügbar.
  • GNU-Compiler : Ein Java-Compiler von GNU. Dies sollten nur Entwickler installieren müssen.

Ich habe den Inhalt gelesen, bin aber immer noch etwas verwirrt. Sind sie alle verschiedene Versionen von JDK? Wenn nicht, was dann?

Und welches würdest du bevorzugen?

Noob programmieren
quelle

Antworten:

6

Sind sie alle verschiedene Versionen von JDK? Wenn nicht, was dann?

Dies sind verschiedene Implementierungen von Java / Development Kits für Java (JDK). Java ist eine Standardplattform, und alle diese implementieren diese Plattform auf ihre eigene Weise. Von diesen:

  • OpenJDK und GNU Compiler sind die einzigen, die Open Source sind. Normalerweise bevorzuge ich sie - die einfache Installation ( apt-getoder das Software Center) ist ein wichtiger Faktor.
    • Insbesondere OpenJDK wird hauptsächlich vom "offiziellen" Java-Quellcode abgeleitet, den Oracle / Sun als Open-Source-Quelle bereitgestellt hat. Es wird von Oracle unterstützt.
  • Oracle Java 6 und 7 sind "das" Java, wenn Sie so wollen, von der Firma, die Java erfunden hat (das war Sun, aber Oracle hat sie vor einiger Zeit gekauft). Deshalb werden sie Referenzimplementierungen genannt. Möglicherweise möchten Sie sie verwenden, wenn Sie Oracle JDK auch auf einer anderen Plattform verwenden oder wenn OpenJDK Probleme verursacht.
    • Die 6 und 7 beziehen sich auf Versionen der Sprache / Plattform. 7 ist neuer und hat mehr Funktionen, wurde aber weniger getestet; 6 ist extrem ausgereift und stabil. Ich würde 6 bevorzugen, wenn Sie gerade erst anfangen.
  • Im Gegensatz zum Wiki erstellt IBM JDKs / JREs für alle Plattformen, obwohl möglicherweise nur die für PowerPC verfügbar sind.

Wenn Sie mit der Programmierung beginnen, passt fast jede davon gut. Entscheiden Sie sich für OpenJDK, nur weil es einfach zu installieren ist.

Die einzige Erfahrung, die ich bei der Unterscheidung habe, ist das Kompilieren in einer ressourcenarmen Umgebung (128-192 MB RAM - ein VPS). Ich fand, dass Oracle Java 6 JDK für ein Programm am besten funktioniert (dh erfolgreich war) und IBM Java 6 JDK für ein anderes ...

ish
quelle
1
Nur eine schnelle Korrektur - Für Java 7 lautet die Referenzimplementierung OpenJDK, nicht Oracle JDK. Und ja, IBM hat Implementierungen für alle wichtigen Plattformen außer für Oracle (Sun) Solraris.
intelekt
2

Java Language and Runtime Environment ist eine Spezifikation. Alle diese Pakete sind unterschiedliche Implementierungen derselben Spezifikation.

Und lesen Sie hier mehr: /programming/1977238/why-should-i-use-the-oracle-jdk-over-the-openjdk-or-vice-versa

Normalerweise sollten Sie openJDK verwenden, da es genauso gut funktioniert wie Oracles JDK, aber Open Source ist, sodass Sie keine Probleme mit Lizenzen haben. Weitere Informationen unter http://openjdk.java.net/

Janning
quelle
1

Es erklärt, was jeder auf der Seite ist, aber im Wesentlichen sind sie alle Orcales Java, das gerade von verschiedenen Gruppen entwickelt wurde.

  • OpenJDK ist die Open Source-Entwicklung der Oracles Java Edition.
  • Java 6 und 7 sind nur Versionen der Oracles Java Standard Edition. & ist das aktuellste und wurde letztes Jahr im Juni oder Juli veröffentlicht, denke ich.
  • Die IBM-Version wurde hauptsächlich für PowerPCs verwendet, da ihre Zustände für Sie wahrscheinlich keine große Rolle spielen, es sei denn, Sie haben einen PowerPC-Prozessor.
  • Der GNU-Compiler ist für Entwickler gedacht, die in Java codieren. Es ist nur ein Compiler für Java. Wenn Sie nicht wissen, was dies ist, brauchen Sie es wahrscheinlich nicht, es sei denn, Sie möchten etwas über die Java-Entwicklung lernen.

Ich benutze OpenJDK, weil es mit Minecraft besser funktioniert. Kein anderer Grund ha.

Rechnung

LinuxBill
quelle
1

Soweit ich weiß, ist openJDK fast dasselbe wie Sun JDK. Der Hauptunterschied besteht darin, dass es Open Source ist. Sie können kein IBM JDK verwenden, wenn Sie ein PC-Benutzer sind, da es auf PowerPC beschränkt ist. Das gcj wird nicht als a betrachtet gute Wahl für mich, da es noch unreif scheint.

Hongxu Chen
quelle
0

Dies wird wahrscheinlich viele der FLOSS-Leute verärgern, aber hier ist meine kurze Antwort.

Oracle hat Sun erworben, Oracle (Sun) Java 6 ist nur die ältere Version von Oracle Java 7. Davon abgesehen. Es sei denn, Sie haben einen wirklich guten Grund, die Oracle-Version nicht zu verwenden. Alles andere ist ein Versuch, das zu replizieren, was Oracle getan hat, und keiner von ihnen ist so gut.

Soweit auf die Qualität zu brechen. GNU Java ist der schlimmste Versuch der JVM, den ich je gesehen habe. Es sei denn, Sie genießen häufige Abstürze. Verwenden Sie ihn nicht. IBM Java - nie ehrlich verwendet, also keine Meinung OpenJDK - Wenn Sie eine Open-Source-Implementierung der JVM verwenden möchten, würde ich OpenJDK verwenden und die 7.x-Version verwenden.

csgeek
quelle
0

FWIW, ich hatte weniger Probleme mit Oracle / Sun Java als mit jeder anderen Version. OpenJDK funktioniert die meiste Zeit. Ich habe GNU Java noch nie zum Laufen gebracht. IBM Java scheint gut zu sein, aber ich habe nicht viel Erfahrung damit.

WebUpd8te verfügt über eine PPA, die die Installation über apt-get vereinfacht. Wenn Sie keinen Grund haben, eine andere Version wie die Lizenzierung zu verwenden, würde ich mich für Oracle Java entscheiden.

JimBeam823
quelle