OpenJDK - Oracle jest lepszy? [Zamknięte]

26

Od http://www.wikihow.com/Install-Oracle-Java-on-Ubuntu-Linux

Wpisz / Kopiuj / Wklej: java -version. Jeśli masz

OpenJDK Runtime Environment (IcedTea6 1.10pre) (7b15~pre1-0lucid1)
OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode)

... masz niepoprawną wersję oprogramowania Java zainstalowaną na potrzeby tego ćwiczenia.

Oto co mam. Zastanawiam się, dlaczego to zły sprzedawca? Co to za sprzedawca? Dlaczego zamiast tego powinienem używać Oracle Java?

ア レ ッ ク ス
źródło
Czy jest jakiś konkretny powód, dla którego wycofałeś moją edycję? Nic nie zmieniłem w treści.
David Foerster,
@DavidFoerster, dlaczego w ogóle go edytowałeś?
ア レ ッ ク ス
Zobacz komentarz do edycji.
David Foerster,
Skoro odpowiedziałem na twoje pytanie, czy uprzejmie odpowiedziałbyś mi na moje pytanie: dlaczego wycofałeś moją edycję?
David Foerster,
Dlaczego zawsze fajne pytania się zamykają?
nikt nie

Odpowiedzi:

39

Obecnie dostępne są dwie wersje Java (dostawcy, jeśli chcesz):

  • JDK Oracle (wcześniej Sun), zamknięty kod Java, z komercyjnym wsparciem Oracle 'n stuffs.
  • OpenJDK, open source Java. Oracle uwolniło część swojego źródła i zmieniło jego nazwę.

W czasach Java 6 istniała duża różnica między nimi, OpenJDK działa wolniej i obsługuje mniej. Jednak obecnie, z wyjątkiem wtyczki java-web-plugin (która została przepisana przez społeczność i nazwana icedtea-web), są one dokładnie takie same. Żadna z dwóch wersji nie jest „zła”.

Nadal są ludzie, którzy twierdzą, że OpenJDK jest gorszy niż JDK Oracle, ale stał się mitem.

Polecam zachować OpenJDK dla Java 7, ponieważ open source FTW i ponieważ jest on obsługiwany w oficjalnych repozytoriach Ubuntu (Oracle nie pozwala innym rozpowszechniać ich JDK).

mid_kid
źródło
na przykład $ javac -version The program 'javac' can be found in the following packages:- czy tak powinno być z OpenJDK?
レ ッ ク ス
2
OpenJDK jest także referencyjną implementacją Java SE 7, więc myślę, że to świadczy o jego stabilności (jeśli dobrze rozumiem, co to znaczy być referencyjną implementacją).
DaimyoKirby
@Alex Java (OpenJDK i Oracle) jest podzielony na dwa pakiety: Java Runtime Environment (JRE) i Java Development Kit (JDK). Jeśli chcesz po prostu uruchomić niektóre programy Java, JRE jest wszystkim, czego potrzebujesz. Jeśli chcesz skompilować niektóre programy Java (javac, co oznacza kompilator Java), potrzebujesz JDK. Zainstaluj JDK za pomocą sudo apt-get install openjdk-7-jdk.
mid_kid
Przestałem używać OpenJDK w wersji 6, ponieważ w tym czasie było wyraźnie wolniejsze niż Oracle JDK 1.6. Nie mam więc żadnego dowodu na to, że Open JDK 1.7 jest nadal tak wolny w porównaniu do Oracle JDK 1.7. Znalazłem jednak kilka benchmrków innych ppl, twierdząc, że nadal istnieje różnica w wydajności (na korzyść Oracle JDK): ilsistemista.net/index.php/linux-a-unix/ ... Chciałbym wiedzieć, czy istnieje również dowód podając przeciwnie (jak ja nie preferuje openjdk za otwartość ... :))
Shivan smok
W przeszłości, gdy jdk6, zwycięzcą okazała się wyrocznia. Teraz próbowałem uruchomić Minecraft i Intellij z obydwoma, i nie ma zauważalnej różnicy. Jedynym „dowodem”, jaki możesz mieć, jest wypróbowanie go sam, fakt, że openjdk jest implementacją referencyjną, a ten post na blogu: weblogs.java.net/blog/robogeek/archive/2009/01/05/…
mid_kid