Buscar

Introdução a Java

Prévia do material em texto

Linguagem de Programação I
Professor: Fábio José Rodrigues Pinheiro
Bel em Ciência da Computação
Índice
• Histórico
• Ambiente Java
• Produtos
• Características
Histórico
• Inicio em 1991, com o grupo chamado “Green 
Team”.
• acreditava que a nova onda computacional seria a 
união dos dispositivos eletrônicos portáteis 
inteligentes com os computadores.
• Nessa época o MS-DOS era o sistema operacional 
dominante, e o telefone celular pesava meio quilo.
• Surge a linguagem Java, ainda com o nome de 
Oak
Duke
Histórico
• Oak, rebatizado para Java (nome inspirado num 
reunião numa cafeteria), fica sem uso até 1994.
• O foco inicial do Green Team estava em produtos 
para entretenimento ligados a industria de TV 
digital
– O conceito estava muito avancado para a epoca e 
o projeto comecava a ruir
Histórico
• A Internet:
– Em 1993 o projeto toma um novo rumo com o 
surgimento do primeiro navegador gráfico para 
web, o Mosaic 1.0 da NCSA.
– Em 1995 a Sun lança ocialmente o ambiente Java 
e sua incorporação no Netscape Navigator trouxe 
vida às paginas web, antes estáticas
Java
O que é Java?
“Java: uma linguagem simples, orientada a 
objetos, distribuída, interpretada, robusta, 
segura, neutra em relação à arquitetura, 
portátil, alto desempenho, multithread e 
dinâmica.”
"The Java Language: A White
Paper", Sun Research Labs
• O Java continua a estar presente em páginas 
web, em sua forma original (applets) ou em uma 
forma mais moderna (Java Server Pages- JSP, e 
frameworks)
• Aplicações desktop: Azureus, IRPF
• Aplicações servidoras: Apache Tomcat
• Dispositivos móveis: telefone celular, PDA, GPS, 
videogame
Java
Características
• Principais características:
– Orientada a Objetos
– Simples
– Robusta
– Multiplataforma
– Interpretada
– Distribuída
– Multithread
Características
Orientada a Objetos
• Linguagem 100% Orientada a Objetos
– Exceção: não suporta herança múltipla
• Técnica de programação que foca nos dados 
(objetos) e suas interfaces.
• Melhora o reuso.
Características
Simples
• Softwares que estão cada vez mais complexos.
• O processo de desenvolvimento também é 
complexo.
• C e C++ eram algumas das linguagens mais 
utilizadas para desenvolvimento quando 
pensaram em Java.
• Java tem a sintaxe muito parecida com C++.
• Mas omite características de difícil compreensão 
e raramente utilizadas:
– sobrecarga de operadores;
– herança múltipla de classes;
• Coleta automática de lixo.
Características
Robusta
• Enfase na vericação preliminar de possveis 
problemas, vericação dinâmica (em tempo de 
execução) e eliminação de situações propensas a 
erros
• Fortemente “tipada”.
• O modelo de ponteiros de Java elimina a 
possibilidade de sobrescrever ou corromper os 
dados da memória.
Características
Multiplataforma
• O Resultado da compilação em Java é um código 
independente de plataforma: Bytecode.
• Os Bytecodes são instruções independentes da 
plataforma.
– Na especificação da linguagem não existem 
pontos como “dependente de implementação", 
como ocorre em C e C++
• Contudo, dependem que o computador possua 
uma máquina virtual instalada.
• Java foi projetada para suporta rede.
– Em geral, redes são compostas por uma 
diversidade de sistemas.
– Isto é útil não somente para redes, mas em 
geral os programas são criados para 
plataformas específicas.
Características
Distribuída
• Tem uma extensa biblioteca para lidar com rede: 
TCP/IP, HTTP, FTP, etc.
• Isto torna mais fácil fazer aplicações que 
necessitem de recursos de rede.
– A complexidade para acessar a rede é a mesma 
para acessar um arquivo local.
• Biblioteca completa para concepção de 
aplicações complexas
– Programação concorrente: Multi-thread
– Programação distribuída
Características
Interpretada
• Java Virtual Machine (JVM).
– Uma máquina real executa código própria para ela.
– Uma máquina virtual executa um código seu próprio 
código.
– A JVM é um programa normal em cada arquitetura.
– A entrada para JVM são os Bytecodes.
• Compilador: javac (java compiler)
• Interpretador: java
• Desempenho
– Os bytecode são interpretados pela JVM resultando 
em um desempenho inferior quando comparado 
com códigos compilados para um CPU específico
– Os compiladores de bytecode “just-in-time" 
surgem como uma solução para este problema, 
impondo em alguns casos um desempenho 
superior
• A grande idéia:
– “Write once, run anywhere!" TM
– Se a JVM for portada para uma plataforma, então 
qualquer programa Java executará nesta 
plataforma.
– Se um programa for escrito em Java, então ele 
poderá executar em qualquer plataforma com uma 
JVM.
Programação Orientada 
a Objetos
• Microsoft
– Windows 9X
– Windows XP
– Windows 2000/2003
– Windows Vista/7
• IBM
– OS/2
– OS/390
– AS/400
• UNIX
– Solaris
– Linux
– HP-UX
– Irix
– AIX
– SCO
• O Java é interpretado, portanto e muito mais lento
– Compiladores just-in-time permitem que ccódigos Java sejam 
executados com tanta rapidez como códigos C++
– A inicialização da JVM e as interfaces gráficas em Java (GUI) 
são sim lentas
• C# é uma linguagem mais nova, deixando o Java obsoleto
– C# incorporou muitas boas ideias do Java, como máquina 
virtual, linguagem limpa, coleta de lixo
– Mas deixou para trás a segurança e independência de 
plataforma (feita para Windows, apesar de haver máquinas 
virtuais de terceiros para outros S.O, ex: Mono)
Alguns mitos...
Alguns mitos...
• Javascript é uma versão simplificada do Java
– Javascript foi criada pela Netscape para criação de 
scripts que podem ser usada em páginas Web
Produtos
• Java SE - Standard Edition
– Para o desenvolvimento de aplicações desktop
• Java EE - Enterprise Edition
– Para o desenvolvimento de aplicações empresariais, 
que execução em servidores
• Java ME - Mobile Edition
– Para o desenvolvimento de aplicações para dispositivos 
móveis
• Java FX
– Para o desenvolvimento de ricos aplicativos clientes 
(audio, vdeo)
– Aplicações JavaFX podem ser para navegador, desktop 
e dispositivos móveis
Programação Orientada 
a Objetos
Tipos de aplicações
• Aplicações stand-alone
• Aplicações cliente/servidor
• Aplicações para a Internet
– Applets
– JSP
– Servlets
Applets
Applets
Programas Java que rodam em um navegador 
Web.
Como Funciona?
O browser tem disponível uma JVM para 
executar os programas Java.
Applets
Senha no BB.
www.bb.com.br
Map24.
br.map24.com
 Urna eletrônica no site do TSE.
www.tse.org.br
Jogos
Programação Orientada 
a Objetos
Servlets/JSP
Programação Orientada 
a Objetos
Servlets/JSP
Programas Java que executam no lado do 
servidor.
Desenvolvendo em Java
• Para executar uma aplicação Java é necessário possuir uma 
máquina virtual Java
– A Sun/Oracle disponibiliza gratuitamente o “ambiente de 
execução Java" (Java Runtime Environment - JRE) para 
diversos sistemas operacionais e arquiteturas
• A Sun/Oracle disponibiliza gratuitamente um kit de 
desenvolvimento (Java Development Kit - JDK)
– Compilador, máquina virtual Java, código fonte, 
documentação das APIs (Application Programming Interface)
• Os ambientes integrados de desenvolvimento 
(AID) (ou Integrated Development 
Environment - IDE) tornam mais agradável e 
produtivo o desenvolvimento de aplicações
– Netbeans - Apoiado pela Sun (agora Oracle) 
http://www.netbeans.org
– Eclipse - bastante usado pela comunidade 
http://www.eclipse.org
Desenvolvendo em Java
Criando um programa em Java
• Compilar
javac Programa.java
• Executar
java ProgramaPrimeiro Programa: Alo Mundo
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20
	Slide 21
	Slide 22
	Slide 23
	Slide 24
	Slide 25
	Slide 26
	Slide 27
	Slide 28
	Slide 29
	Slide 30
	Slide 31
	Slide 32
	Slide 33
	Slide 34
	Slide 35
	Slide 36
	Slide 37
	Slide 38
	Slide 39
	Slide 40
	Slide 41
	Slide 42

Outros materiais

Materiais relacionados

Perguntas relacionadas

Perguntas Recentes