Introdução/Histórico
Em 1990 um grupo liderado por James Gosling e outros desenvolvedores da Sun MicrosSystems iniciou o desenvolvimento de uma linguagem, independente de plataforma, que atendesse vários dispositivos eletrônicos como aparelhos de microoondas, video-cassetes e etc. Batizaram essa linguagem inicialmente de OAK, porém já havia uma linguangem com esse nome e foram obrigados a escolher um outro, daí Java.
O que é Java?
Basicamente e de forma bem simplista, é um conjunto formado por:
- Uma linguagem de alto nível para desenvolvimento orientado a objetos;
- Um pré-compilador(gerador de bytecodes) de código fonte;
- Uma máquina Virtual(JVM) que interpreta o código pré-compilado para uma plataforma específica.
Principais Características
- Orientação à objetos;
- Portabilidade, pois o mesmo bytecode pode ser interpretado em qualquer plataforma;
- Grande número de bibliotecas disponibilizadas através da Core API.
Entendendo sobre as versões do Java
Há um padrão de nomenclatura adotado para definir as versões do java, veja: 1.2.3a-000
Onde:
- 1 – indica a versão base.
- 2 – indica mudanças de biblioteca.
- 3 – indica bug-fixes, ou seja, não ocorre mudança de bibliotecas. A partir do Java 2 a itenção é ter uma versão de bug-fixes a cada trimestre.
- a – em alguns poucos casos surgiram versões com uma letra no final. Isso indica uma versão que foi lançada para corrigir um bug de segurança.
- 000 – a partir da versão do Java 2, a letrinha no final foi substituida por três números, mas significam a mesma coisa que o “a”.
Histórico
- 1995: Versão 1.0 – 8 pacotes e 212 classes
- Criação do AWT, primeira biblioteca de criação de interfaces gráfica (o resultado visual depende de bibliotecas gráficas da plataforma);
- 1997: Versão 1.1 – 23 pacotes e 504 classes
- Melhora na manipulação de eventos, inner classes e JVM;
- Suporte à Swing (biblioteca gráfica que o resultado visual não depende de plataforma)
- 1999: Versão 1.2 (Java 2) – 59 pacotes e 1509 classes
- Criação do primeiro Kit de Desenvolvimento, chamado SDK
- Incusão do Swing no core api
- Criação da Collections API;
- 2000: Versão 1.3 – 76 pacotes e 1842 classes
- Melhoria de performance com a criação da Hotspot para JVM.
- 2002: Version 1.4 – 135 pacotes e 2991 classes
- Melhorias na IO API
- Suporte a XML
- 2004: Versão 5.0
- Início mais rápido e melhor uso de memória da JVM
- Alterações na linguagem(generics, ehanced for, varargs, autoboxing, annotations)
- Melhoria nas funcionalidades de multithreading
- 2006: Versão 6.0
- Melhorias na performance
- Suporte a Scripting
- JDBC 4.0 Annotations
- Ferramentas de monitoramento e gerenciamento
Definições: JRE, JDK, JEE, JSDK, JVM, JCP, API, etc
- Veja as definições destes anacônios aqui!
Estrutura de Programação
A estrutura de programação composta basicamente por:
- um arquivo contendo um código fonte que deve ser salvo com a extensão .java;
- um pré-compilador que transformará esse arquivo em um bytecode;
- uma JVM que é um interpretador do bytecode para uma plataforma específica.
Ferramentas de Programação (Linha de comando e IDE’s)
O JDK vem com varios utilitários para linha de comando, exemplo:
- javac – compilador padrão;
- java – executor dos códigos pré-compilados;
- javadoc – gerador de documentação.
Existem ainda IDE´s, ambientes integrados, que disponibilizam de forma gráfica os componentes de linha de comando. Esta interface visual proporciona agilidade e ganho de produtividade, no entanto recomendo para quem está começando ficar na linha de comando até adiquirir familiaridade com a linguagem e saber os detalhes básicos da mesma. Dentre as IDE’s mais utilizadas atualmente, posso citar: Eclipse, NetBeans e JDeveloper.
Instalação e Configuração
Existe uma instalação específica para cada plataforma (Windows, Linux, Mac, etc).
É necessário configurar algumas variáveis de ambiente (path, classpath) para iniciar o desenvolvimento de aplicações.