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!