Are they all different versions of JDK? If not, then what?
São diferentes implementações 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-os - a facilidade de instalação (
apt-get
ou Software Center) é um grande fator.- O OpenJDK, em particular, é derivado principalmente do código-fonte Java "oficial" que a Oracle / Sun criou de origem aberta; é apoiado pelo Oracle.
- O Oracle Java 6 e 7 são "os" Java, se você quiser, da empresa que inventou o Java (que era a Sun, mas a Oracle os comprou há algum tempo). É por isso que eles são chamados de implementações de referência. Você pode querer usá-los se estiver usando o Oracle JDK em outra plataforma também, ou se o OpenJDK estiver causando problemas.
- O 6 e o 7 referem-se a versões do idioma / plataforma. 7 é mais recente e tem 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 a sua possa ser a única para o PowerPC.
Se você está começando a programar, quase qualquer um deles será um bom ajuste. Vá para o OpenJDK só porque é fácil de instalar.
A única experiência que tenho para diferenciá-los é compilar em um ambiente com poucos recursos (128-192MB de RAM - um VPS); Eu encontrei o Oracle Java 6 JDK funcionou melhor para um programa (ou seja, com sucesso) e IBM Java 6 JDK para outro ...