Bom, as versões em Java seguem a seguinte padronização: 1.2.3a-000. Abaixo estão as descrições de cada número ou letra.

1. Versão da base;

2. Mudanças de biblioteca - é implantado mais objetos e/ou métodos;

3. Bug-fixes - quando implantada não funciona em versões anteriores;

a. São versões lançadas para corrigirem algum erro de segurança;

000. Significa a mesma coisa que a versão a, só que foi implementada na versão do Java 2;

O Java possui um conjunto de ferramentas para se desenvolver programas baseados nele, que são conhecidos como Java Development Kit ou JDK, sendo este o ambiente voltado para os desenvolvedores. A JDK faz parte do funcionamento das IDE´s - programas de desenvolvimento como NetBeans, Eclipse entre outros. A formação da JDK é descrita pelas seguintes ferramentas:

  • Compilador - javac
  • Máquina Virtual (VM) - java
  • Documentado de código - javadoc
  • Java Debugger - jdb
  • Decompilador - javap
  • Visualizador de applets - appletviewer
  • Depurador simbólico - jdb
  • Armazena Recursos - jar
  • Tratamento de chaves - keytool
  • Políticas de segurança - policytool
  • RMI - rmic, rmiregistry
  • Entre outros

Para entendermos um pouco melhor, a JDK é formada pelo JRE (Java Runtime Enviroment), que nada mais é que um conjunto de bibliotecas, contendo também JVM (Java Virtual Machine), onde são necessários para a execução de aplicações escritas em Java.

Desde o lançamento do Java, vêm surgindo várias versões e alterações nas nomeclaturas e conteúdos. Abaixo é apresentada uma linha do tempo referente as evoluções das versões que formaram a linguagem Java:

Java Development Kit (JDK ou Java 1.0) ano 1996 - É a 1ª versão sendo hoje usada para compatibilidade de browsers mais antigos;

Java Development Kit (JDK ou Java 1.1) ano 1997 - Obteve muitas bibliotecas adicionadas das quais se destacaram o Java RMI, JavaBeans, novo modelo de eventos, JDBC (driver para conexão com banco de dados).

Java Stadard Edition (J2SE 1.2 ou Java2) ano 1998 - Com o tempo surgiu a versão do Java 1.2, que obteve um grande aumento das classes na biblioteca Java (API), ficando considerada a versão da mudança do nome para as versões do produto (JDK) e também sendo optada pela divisão de 3 tipos de plataformas. O principal motivo para essa ação foi que muitos desenvolvedores e usuários estavam confundindo a linguagem Java da linguagem Javascript, que são diferentes. A partir daqui todas as versões Java foram denominadas de Java 2 Standard Edition, que passaram a ter apelidos ou codinomes, esta versão ficou conhecida como Playground da qual foi adicionado o Framework Collections entre outros.

Java Stadard Edition - J2SE 1.3 ano 2000 - Codinome Kestrel, inclusão das bibliotecas JNDI, JavaSound entre outros.

Java Stadard Edition J2SE 1.4 ano 2002 - Codinome Merlin, criada a palavra reservada “assert”, biblioteca NIO entre outros.

Java Stadard Edition J2SE 5.0 ano 2004 - A versão mais usada, sendo conhecida com o codinome Tiger. Apesar da versão ser 1.5, agora é chamada apenas de 5. Adições importantes como: Enumeração, Autoboxing, Generics, for-each entre outros estão nela.

Java Stadard Edition JSE 6 ano 2006 - Codinome Mustang, teve outras alterações que mudaram na nomenclatura (remoção do 2 - J2SE) e melhora significativa na performance e na estabilidade tendo o surgimento do JIT.

Java Stadard Edition JSE 7 ano2011 - possuindo alguns aperfeiçoamentos que são:

  • Suporte ao uso de strings em condições do switch;
  • Inferência na criação de objetos com tipos genéricos;
  • Simplificação na invocação de métodos com parâmetros varargs e tipos genéricos;
  • Gerenciamento automático de recursos, tais como conexões a bancos de dados, I/O;
  • Possibilidade de tratar diversas exceções em um mesmo catch (Multicatch) entre outros;

Conclusão

Para o usuário conseguir acessar ou emular programas em Java tanto local como para ambiente web, é necessário possuir um JRE que inclui o Java Plugin e a JVM, podendo também incluir o JDK e o SDK.

Um detalhe importante, são as versões do JRE, elas devem ser iguais as versões do JDK, principlamente se estivermos falando para o ambiente de desenvolvimento. Um outro fator é a questão do tipo de sistema operacional que o usuário está utilizando, pois existem arquivos diferente para instalação das ferramentas, dependendo do SO, como pode ser visto nos liks abaixo.

Links de ajuda

Ficamos por aqui, espero ter ajudado e até a próxima!