Java
description
Transcript of Java
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