java cristiano soares rafael di lego roberto nemirovsky thiago nascimento

Post on 21-Apr-2015

108 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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.

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

top related