Buscar

POO 02 Introdução à Tecnologia Java

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 3, do total de 31 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

Você também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 6, do total de 31 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

Você também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 9, do total de 31 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

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

marcelo@ifpb.edu.br 
2 
• Conceitos da Tecnologia Java 
• Características da Linguagem 
• Produtos e API 
• Geração de Bytecodes 
• Gerência de Memória 
• ADIs 
3 
• Linguagem de programação Orientada a Objetos 
de alto nível desenvolvida pela Sun Microsystems. 
– Está associada a um conjunto de APIs para dar o 
suporte necessário ao desenvolvimento de aplicações. 
4 
• James Gosling criou a linguagem Java em 1991 com a 
finalidade de desenvolver software embarcado 
• Linguagem começou a receber mais atenção quando 
JVMs foram inseridas em navegadores 
• JDK 1.0 (January 21, 1996) 
• JDK 1.1 (February 19, 1997) 
• J2SE 1.2 (December 8, 1998) 
• J2SE 1.3 (May 8, 2000) 
• J2SE 1.4 (February 6, 2002) 
• J2SE 5.0 (September 30, 2004) 
• Java SE 6 (December 11, 2006) 
• Java SE 7 (July 28, 2011) 
• Java SE 8 (March 18, 2014) 
5 
6 
• Pode ser executada em uma série de ambientes 
distintos tais como PCs, browsers, celulares, 
mainframes, palmtops, eletrodomésticos etc. 
7 
8 
• Podemos caracterizar Java com algumas 
palavras-chave: 
– Simplicidade 
– Orientada a Objetos 
– Robusta 
– Segura 
– Arquiteturalmente Neutra 
– Portável 
– Interpretada 
– Multithreaded 
9 
10 
• O foco da solução de um determinado 
problema são as entidades (classes) e não as 
operações: 
– Facilita a reutilização de código 
– Representa de forma mais clara o mundo real 
– classes sintetizam um determinado grupo de 
entidades que possuem as mesmas características 
estruturais e comportamentais 
• Exemplos: Aluno, Automóvel, Cadeira, Livro 
11 
• Java foi concebida com a idéia do desenvolvi- 
mento de aplicações livres de erros 
– checagem forte de tipos e limites 
• arrays 
• conversão privilegia o tipo maior envolvido e ocorre entre 
tipos compatíveis 
– ausência de manipulação direta com endereços 
• aritmética de ponteiros 
12 
13 
UNIX Windows MacOs 
Hello.class 
14 
15 
Código 
Fonte 
executar 
Arquitetura da Máquina 
compilar 
Código 
Executável 
Código 
de Byte 
(Bytecode) 
Arquitetura da Máquina 
interpretar 
Código 
Fonte 
compilar 
16 
17 
• Java permite o desenvolvimento de aplicações 
baseadas em componentes distribuídos em uma 
rede 
– Remote Method Invocation (java.rmi) 
• Também suporta o desenvolvimento de aplicações 
em rede 
– java.net 
18 
• Existem 3 classes de produtos de plataformas 
para fins diferentes: 
– J2SE (Java 2 Software Environment) 
• ferramentas e API para o desenvolvimento de aplicações 
genéricas Java 
– J2EE (Java 2 Enterprise Edition) 
• ferramentas e API para o desenvolvimento de aplicações 
corporativas 
– J2ME (Java 2 Micro Edition) 
• ferramentas e API para o desenvolvimento de aplicações 
para dispositivos portáteis (TV, celulares, etc) 
19 
• Para trabalhar com Java, precisamos 
basicamente de três recursos básicos: 
– Compilador: 
• gera um código neutro (falaremos disso mais tarde!) 
– Interpretador: 
• interpreta as instruções a partir do código gerado ele 
– API 
• conjunto de classes que irão disponibilizar funcionalidades 
comuns a uma série de aplicações 
20 
• Fazem parte do ambiente de desenvolvimento 
(SDK) Java: 
– javac: compilador Java 
– javadoc: gerador de docs. HTML automático 
– java: interpretador 
– appletviewer: visualizador de applets 
– etc. 
21 
• Aplicações Java fazem uso da funcionalidade 
encontrada em sua API 
• É organizada através de um conjunto de pacotes 
básicos onde cada um tem uma finalidade 
específica 
• faz-se uma chamada a um determinado pacote e 
podemos fazer uso das suas classes 
– semelhante às bibliotecas C e C++ 
– util, lang, math, sql, net, rmi, awt, text, etc. 
22 
• Outros serviços mais especializados são 
colocados em pacotes especiais chamados 
de extensões: 
– javax 
– Exemplos: 
• javax.swing 
• javax.servlet 
• javax.servlet 
23 
24 
Windows 
CÓDIGO FONTE 
OO EE FF A5 ... 
BYTECODE COMPILAÇÃO 
INTERPRETAÇÃO 
public static void main(...){ 
 System.out.println(“Hello!”); 
} 
UNIX 
MacOS 
Hello.java 
Hello.class 
25 
public class HelloWorld { 
 public static void main(String[] args){ 
 System.out.println(“Hello, World!”); 
 } 
} 
C:\javac HelloWorld.java 
C:\java HelloWorld 
Hello, World! 
Código Fonte 
Compilação 
Interpretação 
Resultado 
26 
• Garbage Collection 
– O Gerenciamento de Memória em Java é feito de 
forma automática 
– Remoção de todos os objetos da memória que não 
estejam mais sendo utilizados pelo programa durante 
sua execução 
– Realizada pela JVM em um thread de baixa prioridade 
27 
• Vantagens: 
– O programador não precisa se preocupar com a 
administração da memória do computador (questão 
de baixo nível X foco no problema) 
– Uma das maiores fontes de bugs é a alocação e 
desalocação de memória. 
28 
• Como funciona: 
– Periodicamente o Garbage Colector vasculha a 
memória em busca de objetos não referenciados 
• Se ninguém referencia um objeto, é porque ninguém o usa. 
Portanto, é hora de joga-lo no lixo! 
– Quando encontra, libera a área de memória 
29 
Rua X,100,Bairro Y 
João 
Marcelo 
Casa c = new Casa(“Rua X,
100,Bairro Y”); 
Aluno a = new 
Aluno(“João”); 
Professor p = new 
Professor(“Marcelo”); 
c 
a 
p 
c = null; 
Rua X,100,Bairro Y 
João 
Marcelo 
c 
a 
p 
X 
30

Outros materiais