Introdução à Linguagem Java

Propaganda
A Linguagem JAVA
Prof. Hugo Sampaio
São Luís, MA
Histórico
Sun Microsystems, 90/91: um grupo de desenvolvimento
recebeu a tarefa de projetar uma linguagem de
programação pequena que pudesse ser usada em
dispositivos eletrodomésticos (controles remoto etc. )
Esses dispositivos não possuem muita memória, então a
linguagem teve que ser bem pequena e gerar códigos
restritos.
A linguagem foi projetada para ser utilizado em diferentes
tipos de hardware, graças ao uso de bytecodes e de uma
Máquina Virtual.
© Prof.Hugo Sampaio - 2
Histórico
1991: decidiu-se por nomear a linguagem como Java
(apelido dado pelos americanos ao café).
1992: entregue o primeiro produto chamado “*7”
(controle remoto extremamente inteligente).
Não houve interesse comercial. Buscou-se outro modo
para comercializar a tecnologia.
© Prof.Hugo Sampaio - 3
Histórico
Enquanto isso a Internet estava crescendo e era
necessário um browser para poder acessá-la.
Decidiu-se então pela construção deste browser,
denominado HotJava, que foi inteiramente programado
em Java
© Prof.Hugo Sampaio - 4
Histórico
A grande inovação em relação ao Java se deu em 1995.
A Netscape decidiu dar suporte à linguagem a partir de
seu navegador Web para Internet (Netscape Navigator
2.0).
A partir disto, todo usuário deste navegador passou a ser
um potencial usuário da linguagem Java.
Desde então, um fluxo constante de novidades vem
acontecendo, culminando com a linguagem Java
tornando-se a atual “coqueluche” dos programadores.
© Prof.Hugo Sampaio - 5
Histórico
Versão atual da linguagem: 2.0 (08/04)
Último release: 1.4.2_05
Primeira versão da linguagem: 1.0 (05/96)
releases 1.0.1 e 1.0.2
Todas as versões foram e são distribuídas gratuitamente
(http://www.sun.com)
no
pacote
JDK
(Java
Development Kit)
© Prof.Hugo Sampaio - 6
Java Development Kit
Javac - Compilador Java
Javac - Interpretador Java (Java Virtual Machine)
Jdb
- Java Debugger
Javadoc - Gerador Automáticos de Documentos
jar
Jre
- Gerenciador de arquivos .jar (zipador de classes)
- Java Run-Time Environment
(JVM para distribuir as apps.)
Appletviewer - Visualizador de applets
© Prof.Hugo Sampaio - 7
Ambiente Java
Byte codes
.class
Compilador
Carregador de
classes ( Loader )
Bibliotecas
De
Classes
JVM
Fontes
.java
S. Operacional
Criação
Execução
© Prof.Hugo Sampaio - 8
Ambiente Java
© Prof.Hugo Sampaio - 9
Java é Simples
Verdade, se você conhece bem C++
 Não existem struct, union, artimética de ponteiros,
include, classes virtuais etc.
Falso, se você conhece apenas programação DOS
ou VB, ou se não conhece OO
 sintaxe estranha
 escreve-se muito
Verdade, pois seus produtos (.class, compilador e
VM) são pequenos
Falso, pois é muito extensa (muitas características)
© Prof.Hugo Sampaio - 10
Java é Orientada a Objetos
Completamente verdade




metaclasses e reflexão
persistência de objetos (serialização)
solução mais elegante para herança múltipla
(interfaces)
em suma, por ser recente, é uma linguagem OO
(ao contrário do C++, que é híbrida)
© Prof.Hugo Sampaio - 11
Java é Distribuída
Completamente verdade
 extensa biblioteca de rotinas para se trabalhar com
protocolo TCP/IP (FTP, HTTP, SMTP)



Comunicação entre objetos remotos (RMI)
Habilitada para funcionar também no servidor
(servlets e JSP)
Habilitada para funcionar também em dispositivos
portáteis (J2ME)
© Prof.Hugo Sampaio - 12
Java é Robusta
Verdade


possibilidade de capturar e tratar erros de run-time
(exceções)
excelente gerenciamento de memória
 impossível o acesso indevido à memória
© Prof.Hugo Sampaio - 13
Java é Segura
Mais ou menos verdade



Não é possível se acessar a memória fora de seu
espaço de processamento
Possibilidade de se impedir o acesso a funções de
baixo nível quando da execução a partir de um
Browser
Novos releases que corrigem eventuais falhas de
segurança descobertas
© Prof.Hugo Sampaio - 14
Java é Neutra quanto à Arquitetura
Verdade

Os bytecodes contidos em um arquivo .class podem
ser executados em diferentes plataformas para as
quais existam JVMs
Windows 9x, NT, XP, etc..
MacOS,
Solaris,
Linux,
Mainframe,
PalmTops, etc.
© Prof.Hugo Sampaio - 15
Java é Portátil
Grande Verdade (Write Once Run Anywhere)



Quem define as características particulares à cada
arquitetura é a JVM e não o .class
O padrão Unicode facilita a tarefa de
“internacionalização” do código
A aplicação tem a mesma “cara”, não importa o S.O.
(apenas a partir da versão 1.1, com o pacote Swing
que pode substituir o AWT)
© Prof.Hugo Sampaio - 16
Java é Interpretada
Grande desvantagem


O desempenho do compilador e da JVM é ruim
A configuração mínima é Pentium 100 com 32 Mb
de RAM
© Prof.Hugo Sampaio - 17
Java é Multithreaded
Verdade
“Permite que um programa faça mais de uma coisa ao
mesmo tempo”


“Fácil” de implementar
Porém, a maneira como a JVM interpreta o código
multithreaded varia, dependendo da arquitetura
© Prof.Hugo Sampaio - 18
Java é a Linguagem da Internet
Do lado do “Cliente”, isto é mais ou menos verdade,
graças aos applets, que são suportados por praticamente
todos os Web Browser (diferente de outras tecnologias
que exigem o uso de plug-in).
Do lado do “Cliente”, applets são mais profissionais que
linguagens script (Javascript e VBScript por exemplo)
© Prof.Hugo Sampaio - 19
Java é a Linguagem da Internet (cont)
Do lado do “Servidor”, isto é verdade graças aos :
- Servlets (applets que rodam no servidor e que
substituem os scripts Perl como mecanismo para CGI)
- JSP (Java Server Pages), tecnologia que facilita a criação
de páginas dinâmicas
© Prof.Hugo Sampaio - 20
Instalação do Ambiente
Como vimos, para o desenvolvimento de aplicativos JAVA,
necessitamos do JDK instalado na máquina.
O JDK é free e pode ser baixado da internet em
www.sun.com.
Baixe também o pacote de documentação ( que vem
separado).
© Prof.Hugo Sampaio - 21
Instalação do Ambiente
Após instalar o pacote JDK, você terá uma estrutura de
diretórios mais o menos assim :
C:\j2sdk1.4.2_05
\bin
\docs
\jre
\...
\lib
© Prof.Hugo Sampaio - 22
Instalação do Ambiente
Você deve criar uma variável de sistema chamada
CLASSPATH e atribuir a ela o caminho (path) onde foi
instaladas as classes do java.
Ex.:
SET CLASSPATH=.;C:\j2sdk1.4\lib;
Esta variável indica onde o interpretador deve buscar as
classes para que sejam carregadas.
Outra variável necessária é a JAVA_HOME que identifica
qual o diretório raiz do jSDK
© Prof.Hugo Sampaio - 23
Instalação do Ambiente
É bom indicar também na variável PATH do sistema
operacional, qual o “caminho” da pasta de execução do
jSDK.
Ex.:
SET PATH=%PATH%;C:\j2sdk1.4\bin;
Desta forma será possível executar o compilador e/ou
outras ferramentas de qualquer lugar da arvore de
diretorios.
© Prof.Hugo Sampaio - 24
Observações do Ambiente
Sempre que você quiser carregar uma classe, certifique-se
se esta classe esta em um diretório que faz parte da
CLASSPATH.
Colocando um “.” (ponto) no inicio da variável
CLASSPATH, isto indica que inicialmente será buscada as
classes no diretório atual onde você esta.
O JDK será necessário tanto na plataforma Linux como no
Windows ( O processo de configuração do ambiente é
muito semelhante ).
© Prof.Hugo Sampaio - 25
Aplicativos x Applets
O Desenvolvimento pode ser apresentado em Aplicativos
ou Applets.
Aplicativos : Aplicação é um programa mais geral escrito
na linguagem Java. Não requer um browser para sua
execução.
Applets : É um programa especial escrito em Java
adaptado para instalação e execução dentro de páginas
HTML. Estas páginas podem então ser visualizadas num
browser.
© Prof.Hugo Sampaio - 26
Componentes de uma App / Applets Java
arquivo.java :
código fonte de uma aplicação ou applet
arquivo.class :
bytecode gerado da compilação de uma
arquivo .java (existirá um .class para cada
classe especificada no .java)
© Prof.Hugo Sampaio - 27
Componentes de uma App / Applets Java
arquivo.jar:
Conjunto zipado de classes de uma
aplicação
arquivo.html:
Carrega e executa um applet especificado
na tag :
<applet code = arquivo.class ...>
</applet>
© Prof.Hugo Sampaio - 28
Gerando Aplicativos / Applets
Para editar:
Usar qualquer editor de textos (Notepad, Edit,
TextPad, JavaPad etc.)
Para compilar: javac arquivo.java
(cuidado com letras maiúsculas e minúsculas)
Para executar uma aplicação: java arquivo
(não precisa do .class)
Para executar um applet: appletviewer arquivo.html
(para facilitar, deixar o .class no mesmo diretório
do .html)
© Prof.Hugo Sampaio - 29
Exemplo de uma aplicação
vasco.java
Editar:
public class vasco
{
public static void main (String[] args)
{
System.out.println(“VASCOOOOOOOO !”);
}
}
compilar:
Java vasco
Javac vasco.java
executar:
© Prof.Hugo Sampaio - 30
Exemplo de um Applet
OlaPessoal.java
Editar
import java.awt.Graphics;
public class OlaPessoal extends
java.applet.Applet
{
public void paint (Graphics g)
{
g.drawString (“Ola Pessoal!”,5,25);
}
}
compilar:
<HTML><BODY>
<APPLET
CODE=”OlaPessoal.class”
WIDTH=300 HEIGHT=100>
</APPLET>
</BODY></HTML>
Javac OlaPessoal.java
OlaPessoal.class
Executar no Browser
© Prof.Hugo Sampaio - 31
Plataforma IDE (JCreator)
© Prof.Hugo Sampaio - 32
Configurando o JCreator
© Prof.Hugo Sampaio - 33
Download