Buscar

NotaDeAula-01-Parte2

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

Programação Orientada a Objetos
(Cód. ES006 / Sem. 2011-2 )
Universidade Federal do Ceará – UFC
Campus de Quixadá
Engenharia de Software
Prof. Lincoln Souza Rocha 
(lincolnrocha@ufc.br)
SOBRE A LINGUAGEM JAVA
Lincoln Souza Rocha (POO - 2011.2) 2
Histórico
• Iniciou como uma linguagem de 
programação para equipamentos 
eletrônicos (microondas, PDAs, ...)
• Concebida no projeto Green (Green 
Team)
– James Gosling (líder)
– Inicialmente denominada OAK
• Pequena, confiável e portável
3
Histórico (cont...)
• Ideal para a Internet !
• Sua afirmação se deu com o surgimento 
do HotJava (Web Browse)
4
Projetada para aparelhos eletrônicos, lançada para
desenvolver aplicativos para navegadores web e
consolidada para o desenvolvimento web do lado
servidor
Uma Linguagem Moderna
• O que é Java?
– “Java é uma linguagem simples, orientada a 
objetos, distribuída, interpretada, robusta, 
segura, independente de arquitetura, 
portável, de alto desempenho, suportando 
multithreads e dinâmica.”
Sun Microsystems, 1995
5
Java é Simples
• Sintaxe familiar a vários programadores 
(baseada em C e C++)
• Elimina várias redundâncias de C++
• Simples para algumas aplicações, desde 
que se conheça alguns pacotes
• Simples dado tudo que a linguagem 
oferece
6
Java Eliminou...
• Variáveis e funções globais
• Ponteiros
• goto, struct e union
• Número variável de argumentos
• Tipos fracos
• Remoção programática de objetos
• Classes parametrizadas!
– Embora o Java Generics permita algo parecido
7
Java é Orientada a Objetos
• Objetos e Classes
• Encapsulamento (dados e operações)
• Subtipos e Herança
• Polimorfismo
• Ligações dinâmicas (dynamic binding)
• Criação e remoção dinâmica de objetos
8
Implementações de Java
• Interpretada
– Bytecodes da JVM
– Independente de plataforma
• Compilada 
– Código nativo em C ou C++
• Alta performance?
9
Alta Performance?
• Java oferece alternativas e compromissos
• Código do cliente pode ser interpretado
– Compiladores JIT aumentam performance
– Cliente universal
– Código móvel, carregado pela rede, evitando 
instalações, conflito entre versões, etc.
• Código do servidor pode ser compilado para 
código de máquina
– Performance similar a C++
10
Java é Portável
• Em tese, redução de custos com 
migração, instalação, treinamento, etc.
• Na prática, ainda é necessário depurar 
programas antes de migrar para outra 
plataforma
11
Java é Distribuída
• Oferece suporte de alto nível para 
acesso a Internet / WWW
• Objetos distribuídos com RMI e CORBA
• Suporte para acesso a arquivos remotos, 
banco de dados, etc...
12
Java é Robusta
• Ausência de ponteiros
• Fortemente tipada
• Coleta de lixo automática
• Exceções tipadas
• Acesso a arrays é verificado
• Variáveis são inicializadas automaticamente
13
Processo de Compilação em Java
14
Código Fonte 
(arquivos .java)
Compilador 
(comando javac)
Bytecode
(arquivos .class)
15
Bytecode
(arquivos .class)
Máquina Virtual Java
Código NativoInterpretador 
(comando java)
Sistema 
Operacional
Processo de Compilação em Java
Máquina Virtual Java
• JVM é dependente de plataforma
• Processa os bytecodes que são 
independentes de plataforma
• Existem diversas VMs de diversos 
fornecedores
• Cada VM deve ser capaz de executar 
qualquer classe compilada java (bytecode)
– “Escreva uma vez e rode em qualquer lugar”
16
Máquina Virtual Java (cont...)
17
JVM
PC - Windows
JVM
IBM - Aix
JVM
Sun - Solaris
Bytecodes
Máquina Virtual Java (cont...)
• Coleta de Lixo
– Memória alocada que não é mais utilizada 
deve ser liberada
– Em outras linguagens, desalocar memória é 
responsabilidade do programador
– Java provê um mecanismo que monitora e 
libera memória
18
Máquina Virtual Java (cont...)
• Coleta de Lixo (cont...)
– Garbage Collector
• Checa e libera memória que não é mais utilizada
• Acontece automaticamente. O programador esta 
livre de gerenciar a liberação de memória
• Pode variar entre JVMs de diferentes 
fabricantes
19
Máquina Virtual Java (cont...)
• Onde encontrar uma JVM?
– Gratuitamente e direto do fabricante 
• Sun Microsystems (www.java.sun.com)
– Na página, podem ser baixados o JRE e o 
SDK
• O JRE é o ambiente para máquinas que irão 
apenas “rodar” programas Java
• SDK ou JSDK é o ambiente para 
desenvolvedores (JVM, compilador, debugger, 
etc)
20
Máquina Virtual Java (cont...)
21http://java.sun.com/j2se/1.5.0/docs/index.html
Primeiro Programa em Java
• Formado por 3 elementos básicos
– Declaração de pacotes
– Utilização de “imports”
– Definições de classe
O programa OlaMundo em Java
public class OlaMundo {
public static void main (String args[]){
System.out.println(“Ola Mundo!”);
}
}
22
Primeiro Programa em Java
Compilação
• javac OlaMundo.java
• Geração do OlaMundo.class
Execução
• java OlaMundo <Argumentos>
Resultado
• “Ola Mundo!”
23
Programação Orientada a Objetos
(Cód. ES006 / Sem. 2011-2 )
Universidade Federal do Ceará – UFC
Campus de Quixadá
Engenharia de Software
Prof. Lincoln Souza Rocha 
(lincolnrocha@ufc.br)

Outros materiais

Materiais relacionados

Perguntas relacionadas

Materiais recentes

Perguntas Recentes