• Nenhum resultado encontrado

Linguagem de Programação II Programação Orientada a Objetos. Introdução - Java

N/A
N/A
Protected

Academic year: 2021

Share "Linguagem de Programação II Programação Orientada a Objetos. Introdução - Java"

Copied!
30
0
0

Texto

(1)

Prof. Alessandro Borges

Linguagem de Programação II

Programação Orientada a Objetos

Introdução - Java

(2)

Tópicos

 Java

 O que é Java?

 História

 Vantagens

 O que pode fazer

 Arquitetura

 Plataformas Java

 Bibliotecas de classes

 Compilando e executando em Java 2

(3)

O que é Java?

3

(4)

O que é Java

 Uma linguagem de programação orientada a objetos

 Procura manter o poder computacional de C/C++, agregando características de segurança, robustez e portabilidade

 Oferece independência de plataforma, permitindo que os programas rodem em diferentes sistemas

operacionais

 Elimina o uso de ponteiros e o controle de alocação/liberação de memória

 Permite o uso de Threads

4

(5)

História

5

(6)

Java - História

 Desenvolvida e mantida pela SUN

 http://java. sun.com.

 Java pode ser vista como uma união de tecnologias, que herda características de muitas outras linguagens de programação.

 Proposta:

 Linguagem a ser usada em pequenos dispositivos (ex: TV, micro- ondas, geladeira, DVD players, etc.)

6

(7)

Java - História

 1991 – Sun cria o Green Team para desenvolver inovações tecnológicas sob o comando de James Gosling

 Linguagem baseada em C e C++

 Chamada de Oak (carvalho) pelo seu criador

Homenagem a uma árvore que via pela janela de seu escritório

Descobriu-se já existir uma linguagem com esse nome

 Mais tarde, em uma visita da equipe da Sun a uma cafeteria, viu- se o nome Java, uma ilha da Indonésia origem de um tipo de café

O nome foi sugerido e pegou

 Proposta da criação da máquina virtual para pequenos dispositivos

7

(8)

Java - História

 Fracasso na busca de parceria com grandes fabricantes de eletrônicos em 1994

 Surgimento e crescimento da Web

 Uso para rodar pequenas aplicações (applets) nos navegadores Web (browsers)

 Linguagem única que rodaria em diferentes navegadores e sistemas operacionais

 Lançamento do Java 1.0

Páginas com conteúdo dinâmico

Browser passou a poder realizar operações, e não apenas renderizar páginas HTML

8

(9)

Java - História

 1995 – Sun anuncia Java oficialmente

Gerou interesse imediato devido ao grande interesse pela WWW.

 Lançado inicialmente para rodar applets, ganhou grande importância também no lado servidor.

 2009 – Oracle compra a Sun

9

(10)

Java - História

 Grupos de usuários criados para

disseminar os

conhecimentos da linguagem

 Ex: GUJ –

www.guj.com.br 10

(11)

Vantagens

11

(12)

Java - Vantagens

 Projetada para atender às necessidades dos

desenvolvedores de aplicações em um ambiente distribuído e heterogêneo

 Orientação a objetos

 Portabilidade

 Grande número de bibliotecas de classes já testadas

 Coleta automática de lixo (Garbage Collector)

12

(13)

Java - Vantagens

 Robustez

 Mecanismos de tratamento de exceções

Aplicações não abortam, mesmo rodando sob condições anormais

 Necessidade de pouco espaço e pouca memória

 Arquitetura neutra e portável

 Byte-code gerado pode ser transportado entre plataformas distintas

Não é necessário recompilar o programa

 Multithread

13

(14)

O que pode fazer

14

(15)

Java – O que pode fazer

 Applets

 Programas que podem executar em browsers com suporte a Java

 Servlets

 Executam em servidores Java

 Programas standalone

 Não executados em browsers

 API dividida em pacotes (packages) de componentes de software

 Ampla gama de funcionalidades

 API central (Core API) incluída em qualquer implementação da plataforma Java.

15

(16)

Arquitetura

16

(17)

Java - Arquitetura

 Pode ser vista com duas definições:

 Linguagem de programação

 Plataforma

 Oferece

 Gabage Collector (Coletor de lixo)

 Multithreading

 Tratamento de exceções

 Orientação a objetos 17

(18)

Java - Arquitetura

 Linguagem de programação

 Linguagem de alto nível

 Programa compilado (p/ byte-code) e interpretado (pela MV) 18

(19)

Java - Arquitetura

 Plataforma Java

 Plataforma de software que executa sobre outras plataformas baseadas em hardware e software (sistema operacional)

 Possui dois componentes:

A Máquina Virtual Java (JVM)

A API (Application Programming InterfaceI – Interface de Programação de Aplicação)

Coleção de componentes de software que oferecem funcionalidades úteis

Agrupada em bibliotecas (packages) de componentes relacionados

19

(20)

Java - Arquitetura

 Gabage Collector (Coletor de lixo)

 Mecanismo automático de gerenciamento de memória

 Verifica e libera automaticamente memória que não está sendo usada

 Multithreading

 Permite o desenvolvimento de aplicações capazes de executar múltiplas rotinas concorrentemente

20

(21)

Java - Arquitetura

 Tratamento de exceções

 Tratamento de situações excepcionais sem a interrupção do programa

 Orientação a objetos

 Com exceção dos tipos primitivos de dados, tudo são classes ou instâncias de classes

21

(22)

Java - Arquitetura

 Máquina Virtual Java (JVM – Java Virtual Machine)

 Independência de sistema operacional

Uma JVM para cada sistema operacional

 Interpreta bytecodes gerados pelo compilador

 Fornece definições para:

Conjuntos de instruções (CPU) e de registradores

Formato do arquivo class

Pilha de execução e pilha para garbage collector

Área de memória

22

(23)

Java - Arquitetura

Máquina Virtual Java (JVM – Java Virtual Machine)

Código fonte Java Compilador

Bytecode Java (.class) JVM SO1

SO1

JVM SO2 SO2

JVM SO3 SO3

23

(24)

Plataformas Java

24

(25)

Plataformas Java

 J2SE (Java Standard Edition)

É a base da plataforma

Voltada para PC’s e servidores

Inclui ambiente de execução e bibliotecas comuns

 J2EE (Java Enterprise Edition)

Voltada para o desenvolvimento de aplicações corporativas e para a Internet

 J2ME (Java Micro Edition)

Voltada para o desenvolvimento de aplicações para dispositivos móveis e embarcados

25

(26)

Bibliotecas de classes

26

(27)

Bibliotecas de classes

 Programas Java consistem em partes chamadas classes

 Classes consistem em partes chamadas métodos

Realizam tarefas e retornam informações ao final

 Bibliotecas possuem ricas coleções de classes prontas e disponíveis para uso

 Bibliotecas também são conhecidas como Java APIs

Applications Programming Interfaces (Interfaces de Programação de Aplicativos)

 Duas partes para aprender o “mundo Java”

Linguagem Java – para programar as classes

Utilizar as classes presentes nas bibliotecas de classes Java

27

(28)

Compilando e executando em Java

28

(29)

Compilando e executando em Java

 O código fonte (.java) é compilado usando o javac (Java Compiler) gerando o arquivo com o bytecode (.class)

 A Java Virtual Machine (JVM) interpreta os bytecodes produzidos pelo compilador

 O Just In Time (JIT) converte, em tempo de execução, o bytecode para a linguagem de máquina segundo o sistema operacional (SO) em uso

 O SO coloca o programa em execução

Código fonte

.(java) Bytecodes

.(class) JVM

JIT SO

29

(30)

Prof. Alessandro Borges

Linguagem de Programação II

Programação Orientada a Objetos

Introdução - Java

Referências

Documentos relacionados