Você está na página 1de 6

CENTRO UNIVERSITÁRIO DO DF

SISTEMAS DE INFORMAÇÃO, CIÊNCIA DA COMPUTAÇÃO E TADS


PROF. MSc. GLEIDSON PORTO LINGUAGEM DE PROGRAMAÇÃO II

Introdução a Tecnologia JAVA


História da Linguagem
• Projeto Green iniciado em 1991 visando convergir computadores e equipamentos eletrodomésticos
usados no dia-a-dia.

• Primeiro protótipo chamado *7 (starseven) com funções de controle remoto para TV

• Criado o mascote “Duke”

• Linguagem de programação usada foi apelidada de OAK (carvalho). Árvore que James Gosling via sua
janela.

• Faltava infraestrutura para popularizar a tecnologia

• Grande oportunidade de sucesso surgiu com a popularidade da Internet

• OAK foi rebatizada para JAVA

• Lançamento em 1995
A plataforma Java foi adotada mais rapidamente do que qualquer outra linguagem de programação na
história da
computação.

• Java continuou e continua crescendo e hoje é com certeza um padrão para o mercado

A tecnologia java
- A tecnologia Java é composta por uma linguagem de programação e uma plataforma
- Uma coleção de APIs para o desenvolvimento de aplicações
- Um ambiente de execução.

- A linguagem possui um mecanismo de compilação/execução peculiar. A compilação gera


código intermediário (bytecode) que pode ser executado pelo interpretador.

- Isto permite que programas Java sejam executados em diversos sistemas operacionais.
- "Write once, run anywhere" - slogan criado pela Sun, para demonstrar a portabilidade da
linguagem(graças aos bytescodes).

UDF
CENTRO UNIVERSITÁRIO DO DF
SISTEMAS DE INFORMAÇÃO, CIÊNCIA DA COMPUTAÇÃO E TADS
PROF. MSc. GLEIDSON PORTO LINGUAGEM DE PROGRAMAÇÃO II

- A plataforma Java compreende uma máquina virtual e uma API para acessá-la.

- A evolução da linguagem é controlada pelos JAVA COMMUNITY PROCESS formado pela Sun
e usuários java.

A linguagem
- Linguagem de programação orientada a objetos;
- Sintaxe parecida com C;
- Possui suporte nativo a threads (mais simples e com maior portabilidade);
- Dinâmica (permite acoplamento de módulos em tempo de execução);
- Com coleta de lixo automática;
- Segura;
- Independente de plataforma;
- Rigorosa quanto a tipos.

Produtos
- Os produtos da plataforma Java são:
o Java Standard Edition (JSE): ferramentas e APIs necessárias para qualquer
aplicação java.
o Java Enterprise Edition (JEE): ferramentas e APIs necessárias para o
desenvolvimento de aplicações distribuídas.
o Java Micro Edition(JME): ferramentas e APIs para o desenvolvimento de aplicações
para dispositivos móveis ou portáteis, como telefones celulares e palmtops.

Ambiente de execução e desenvolvimento


- Java 2 System Development Kit (J2SDK):
o Kit de desenvolvimento para compilar, executar, depurar, etc.
o Para habilitar o uso deste ambiente via linha de comando, é preciso colocar
$JAVA_HOME/bin no PATH do sistema.

- Java Runtime Environment (JRE):


o Tudo que é necessário para executar aplicações java.
o Faz parte do J2SDK e das principais distribuições
Linux,Windows,Aix,MacOs,Solaris,etc.

- Variável JAVA_HOME
o É opcional e utilizada por vários servidores, aplicativos e frameworks.
o Definida como local de instalação do java no seu sistema. Ex: set
JAVA_HOME=c:\j2sdk1.4.0

UDF
CENTRO UNIVERSITÁRIO DO DF
SISTEMAS DE INFORMAÇÃO, CIÊNCIA DA COMPUTAÇÃO E TADS
PROF. MSc. GLEIDSON PORTO LINGUAGEM DE PROGRAMAÇÃO II

Compilação Java para Bytecode


- Bytecode:
o È código de máquina virtual que roda em qualquer máquina física através da
Máquiva Virtual Java.
o O texto contendo o código escrito em linguagem java é traduzido para bytecode
através do processo de compilação e armazenado em um arquivo *.class.

A Máquina Virtual Java


- É uma máquina imaginária implementada como aplicação de software em uma máquina
real.
- A forma de execução de uma aplicação depende da origem do código a ser executado e da
forma como foi implementada a JVM pelo fabricante.

Class Loader e CLASSPATH


Class Loader
o O carregamento das classes é a primeira tarefa executada pela JVM, carregando
as classes necessárias para rodar a aplicação.

CLASSPATH

UDF
CENTRO UNIVERSITÁRIO DO DF
SISTEMAS DE INFORMAÇÃO, CIÊNCIA DA COMPUTAÇÃO E TADS
PROF. MSc. GLEIDSON PORTO LINGUAGEM DE PROGRAMAÇÃO II

- Variável de ambiente local que contém todos os caminhos locais onde o Class Loader pode
localizar classes.
o A CLASSPATH é lida após o carregamento das classes do sistema, portanto suas
classes nunca substituem as classes do JRE.
o A CLASSPATH pode ser redefinida através de parâmetros durante a execução do
comando de execução (java).

Coleta de lixo
- Memória alocada em java não é liberada pelo programador, pois um serviço automático
chamado GARBAGE COLLECTOR faz isso.

- A criação de objetos em java consiste em:


o Alocar memória no heap para armazenar os dados do objeto
o Inicializar o objeto (via construtor).
o Atribuir o endereço de memória a uma variável (referência). Obs: mais de uma
variável pode apontar para o mesmo objeto.

- Quando um objeto não tem mais referências apontadas para ele, seus dados não podem
mais ser usados e memória deve ser liberada.
- O coletor de lixo irá liberar a memória na primeira oportunidade.

O JSDK
É o ambiente padrão de distribuído pela Sun para desenvolvimento de aplicações Java.

Consiste de:
JRE – ambiente para execução de aplicações
Ferramentas para desenvolvimento: compilador,debuguer,gerador de documentação,
empacotador JAR, etc.
Código fonte das classes da API.
Demonstrações de uso das APIs.

A documentação é distribuída separadamente.


http://www.sun.com

Compilando...

Executando...

UDF
CENTRO UNIVERSITÁRIO DO DF
SISTEMAS DE INFORMAÇÃO, CIÊNCIA DA COMPUTAÇÃO E TADS
PROF. MSc. GLEIDSON PORTO LINGUAGEM DE PROGRAMAÇÃO II

Algumas ferramentas do SDK

Introdução Prática
Aplicação HelloWorld

Esta mini-aplicação em java imprime um texto na tela quando executada via linha de
comando.

Exercício: Use-a para testar seu ambiente e familiarizar-se com o desenvolvimento


Java.
1. Digite-a no seu editor de texto.
2. Tente compilá-la.
3. Corrija eventuais erros.
4. Execute a aplicação.

UDF
CENTRO UNIVERSITÁRIO DO DF
SISTEMAS DE INFORMAÇÃO, CIÊNCIA DA COMPUTAÇÃO E TADS
PROF. MSc. GLEIDSON PORTO LINGUAGEM DE PROGRAMAÇÃO II

Anatomia da aplicação HelloWorld

UDF

Você também pode gostar