Java Cristiano Soares Rafael di Lego Roberto Nemirovsky Thiago Nascimento.
Transcript of Java Cristiano Soares Rafael di Lego Roberto Nemirovsky Thiago Nascimento.
JavaCristiano Soares
Rafael di Lego
Roberto Nemirovsky
Thiago Nascimento
Sun Microsystems• Fundada em 1982, introduzindo o primeiro workstation
• Em 1987 foi líder no comércio de workstations
• Em 1993 atinge a marca de 1 milhão de sistemas distribuidos (UNIX)
• Em 1995 lança a linguagem Java, designada para a Internet e para Intranets corporativas
• Em 1998 lança a segunda versão do Java, oferecendo mais velocidade, flexibilidade e um conjunto completo de classes-base.
Grupo de Desenvolvimento
* September 2002
Principais características
• Orientada a Objetos.
• Neutra em relação à arquitetura.
• Interpretada / Portável.
• Dinâmica e distribuída.
• Simples, robusta e segura.
• Garbage collection.
• Multithread.
Garbage collection
• Identificar objetos que não são utilizados a um determinado tempo e liberá-los da memória.
• Um objeto está em uso somente se ele pode ser acessado ou buscado pelo programa em um determinado estado.
• Gerência de memória mais segura.
• Custo de execução adicional.
Garbage collection
Java Virtual Machine
• Computador abstrato que permite rodar programas compilados em Java.
• JVM é “Virtual” pois é geralmente implementada em software sobre uma plataforma em hardware(“Real”) e um sistema operacional.
JVM - ByteCodes
• O programa em Java é tanto compilado como interpretado.
• O programa em Java é compilado em bytecodes, e não em linguagem de máquina. Posteriormente, os bytecodes são interpretados pela máquina virtual.
JVM - ByteCodes
Códigoem Java
Códigoem bytecodes
JMV-Programarodando
JMV - Multiplataforma
•“Write once, run anywhere”.
Java-Orientação à objeto
• Método de programação baseado em hierarquia de classes, e em integrados e bem definidos objetos.
• Todo programa Java é encapsulado em uma classe, seja ela uma classe definida pelo usuário ou uma classe proveniente de uma das bibliotecas API da plataforma Java.
Java-Orientação à objeto
• O programa abaixo é encapsulado pela classe “ExampleProgram”
class ExampleProgram { public static void main(String[] args){
System.out.println("I'm a simple
Program“ ); }}
Multithread
“Objetos disponibilizam uma forma de dividir o programa em seções independentes. Freqüentemente, você também precisa tornar um programa em sub-tarefas independentes.”
Bruce Eckel
Multithread - Vantagens
• Melhor uso da CPU.
• Diminui acoplamento de código.
• Diminui tempo de espera.
• Troca de contexto mais “leve”.
• Uso de Deamons.
• Perfeito para processamento paralelo.
Multithread - Desvantagens
• Diminui desempenho enquanto espera por recursos compartilhados.
• Adiciona “overhead” à CPU para gerenciar as threads.
• Complexidade de implementação alta.
• Starvation e Deadlock.
Eclipse IDE
Diagrama de Casos de Uso
Diagrama de Classes
Criação de Pacotes
Uso deInterfaces
Criação de Classes e
Relacionamentos
O Eclipse implementa ainda:
• Controle de versões• Integração entre JUnits• Assistente de código e facilidade no “debug” • Diagrama de colaboração• Diagrama de seqüência• Diagrama de estados• Diagrama de componentes• Diagrama de atividades
Integração Desenho e Implementação
O desenho é mapeadoautomaticamente em código,
podendo ser executado a partir dopróprio Eclipse
Arquitetura
Platform Runtime
Workspace
Help
Team
Workbench
JFace
SWT
Eclipse Project
JavaDevelopment
Tools(JDT)
Their Tool
Your Tool
AnotherTool
Plug-inDevelopmen
tEnvironment
(PDE)
Eclipse Platform
Debug