Qual é a diferença entre as cinco versões do Java nesta página para Ubuntu?

9

Quero instalar o Java no meu computador para poder desenvolver programas e me deparei com esta página em Java na documentação da comunidade Ubuntu . Diz:

Java é uma tecnologia da Oracle (anteriormente: Sun Microsystems). Existem várias implementações, das quais cinco serão discutidas aqui:

  • OpenJDK : O objetivo principal do projeto OpenJDK é produzir uma implementação de código aberto da plataforma Java SE (6 e 7). Esta é a versão padrão do Java que o Ubuntu usa e é a mais fácil de instalar.
  • Oracle (Sun) Java 6 : O Oracle (Sun) Java 6 é a implementação de referência para Java 6.
  • Oracle Java 7 : Oracle Java 7 é a implementação de referência para Java 7.
  • IBM Java : IBM Java é a solução Java preferida em máquinas PowerPC. É uma reimplementação com um compilador Just-In-Time. Está disponível apenas no site da IBM.
  • Compilador GNU : Um compilador Java criado pelo GNU. Somente desenvolvedores devem ter que instalar isso.

Eu li o conteúdo, mas ainda estou um pouco confuso. Todas são versões diferentes do JDK? Se não, então o que?

E qual você prefere?

Programming Noob
fonte

Respostas:

6

Todas são versões diferentes do JDK? Se não, então o que?

São implementações diferentes de Java / kits de desenvolvimento para Java (JDK). Java é uma plataforma padrão, e todos eles implementam essa plataforma à sua maneira. Destes:

  • O OpenJDK e o GNU Compiler são os únicos que são de código aberto. Eu geralmente prefiro eles - a facilidade de instalação ( apt-getou Centro de Software) é um grande fator.
    • O OpenJDK, em particular, é derivado principalmente do código-fonte Java "oficial" que o Oracle / Sun abriu; é apoiado pela Oracle.
  • O Oracle Java 6 e 7 são "o" Java, se você preferir, da empresa que inventou o Java (que era a Sun, mas a Oracle os comprou há um tempo). É por isso que eles são chamados de implementações de referência. Você pode usá-los se estiver usando o Oracle JDK em outra plataforma também ou se o OpenJDK estiver causando problemas.
    • Os 6 e 7 se referem a versões do idioma / plataforma. 7 é mais recente e possui mais recursos, mas foi testado menos; 6 é extremamente maduro e estável. Eu prefiro 6 se você está apenas começando.
  • Ao contrário do wiki, a IBM cria JDKs / JREs para todas as plataformas, embora o deles possa ser o único para o PowerPC.

Se você está começando na programação, quase qualquer um deles será um bom ajuste. Escolha o OpenJDK apenas porque é fácil de instalar.

A única experiência que tenho para diferenciá-los é compilar em um ambiente com poucos recursos (128-192 MB de RAM - um VPS); Eu encontrei o Oracle Java 6 JDK funcionou melhor em um programa (ou seja, foi bem-sucedido) e o IBM Java 6 JDK em outro ...

ish
fonte
1
Apenas uma correção rápida - para Java 7, a implementação de referência é OpenJDK, não Oracle JDK. E sim, a IBM tem implementações para todas as principais plataformas, exceto a Oracle (Sol's) Solraris.
intelekt 4/09/14
2

O Java Language and Runtime Environment é uma especificação. Todos esses pacotes são implementações diferentes da mesma especificação.

E leia mais aqui: /programming/1977238/why-should-i-use-the-oracle-jdk-over-the-openjdk-or-vice-versa

Normalmente, você deve usar o openJDK, pois ele funciona tão bem quanto o Oracles JDK, mas é de código aberto, para que você não tenha problemas com as licenças. Mais informações em http://openjdk.java.net/

Janning
fonte
1

Ele explica o que cada um está na página, mas essencialmente eles são todos os Java da Orcale, desenvolvidos apenas por grupos diferentes.

  • O OpenJDK é o desenvolvimento de código aberto da edição Java do Oracles.
  • Java 6 e 7 são apenas versões do Oracles Java standard edition. & é o mais atualizado e lançado no ano passado em junho ou julho, eu acho.
  • A versão da IBM foi usada principalmente para PowerPCs, pois seus estados provavelmente não importam muito para você, a menos que você tenha um processador PowerPC.
  • O compilador GNU é para desenvolvedores que estão codificando em Java. É apenas um compilador para java. Se você não sabe o que é este, provavelmente não precisará dele, a menos que queira aprender sobre o desenvolvimento Java.

Eu uso o OpenJDK porque funciona melhor com o Minecraft. Nenhuma outra razão ha.

Conta

LinuxBill
fonte
1

Até onde eu sei, o openJDK é quase o mesmo que o Sun JDK, a principal diferença é que ele é de código aberto. Você não pode usar um IBM JDK se for um usuário de PC, pois ele é restrito ao PowerPC. O gcj não é considerado um boa escolha para mim, pois ainda parece imaturo.

Hongxu Chen
fonte
0

Provavelmente isso irritará muitas pessoas do FLOSS, mas aqui está minha resposta curta.

A Oracle adquiriu a Sun, o Oracle (Sun) Java 6 é apenas a versão mais antiga do Oracle Java 7. Dito isto. A menos que você tenha um bom motivo para não usar a versão da Oracle. Tudo o resto é uma tentativa de replicar o que a Oracle fez e nenhum deles é tão bom.

Tanto quanto quebrar a qualidade. GNU Java é a pior tentativa da JVM que eu já vi .. a menos que você goste de travamentos frequentes .. não use. O IBM Java - nunca o usou honestamente, portanto não há opinião do OpenJDK - se você for usar uma implementação de código aberto da JVM, eu usaria o OpenJDK e a versão 7.x.

csgeek
fonte
0

FWIW, tive menos problemas com o Oracle / Sun Java do que qualquer outra versão. O OpenJDK funciona na maioria das vezes. Eu nunca fiz o GNU Java funcionar. O IBM Java parece bom, mas não tenho muita experiência com ele.

O WebUpd8te possui um PPA que facilita a instalação via apt-get. A menos que você tenha um motivo para usar uma versão diferente, como o licenciamento, eu usaria o Oracle Java.

JimBeam823
fonte