A Linguagem JAVA

33
A Linguagem JAVA Prof. Hugo Sampaio São Luís, MA

description

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. ) - PowerPoint PPT Presentation

Transcript of A Linguagem JAVA

Page 1: A Linguagem  JAVA

A Linguagem JAVA

Prof. Hugo SampaioSão Luís, MA

Page 2: A Linguagem  JAVA

© Prof.Hugo Sampaio - 2

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.

Page 3: A Linguagem  JAVA

© Prof.Hugo Sampaio - 3

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.

Page 4: A Linguagem  JAVA

© Prof.Hugo Sampaio - 4

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

Page 5: A Linguagem  JAVA

© Prof.Hugo Sampaio - 5

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.

Page 6: A Linguagem  JAVA

© Prof.Hugo Sampaio - 6

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)

Page 7: A Linguagem  JAVA

© Prof.Hugo Sampaio - 7

Java Development Kit

Javac - Compilador Java

Javac - Interpretador Java (Java Virtual Machine)

Jdb - Java Debugger

Javadoc - Gerador Automáticos de Documentos

jar - Gerenciador de arquivos .jar (zipador de

classes)

Jre - Java Run-Time Environment

(JVM para distribuir as apps.)

Appletviewer - Visualizador de applets

Page 8: A Linguagem  JAVA

© Prof.Hugo Sampaio - 8

Ambiente Java

Byte codes.class

Compilador

Fontes.java

Carregador de classes ( Loader

)

S. Operacional

JVM

BibliotecasDe

Classes

Criação Execução

Page 9: A Linguagem  JAVA

© Prof.Hugo Sampaio - 9

Ambiente Java

Page 10: A Linguagem  JAVA

© Prof.Hugo Sampaio - 10

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)

Page 11: A Linguagem  JAVA

© Prof.Hugo Sampaio - 11

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)

Page 12: A Linguagem  JAVA

© Prof.Hugo Sampaio - 12

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)

Page 13: A Linguagem  JAVA

© Prof.Hugo Sampaio - 13

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

Page 14: A Linguagem  JAVA

© Prof.Hugo Sampaio - 14

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

Page 15: A Linguagem  JAVA

© Prof.Hugo Sampaio - 15

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.

Page 16: A Linguagem  JAVA

© Prof.Hugo Sampaio - 16

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)

Page 17: A Linguagem  JAVA

© Prof.Hugo Sampaio - 17

Java é Interpretada

Grande desvantagem

O desempenho do compilador e da JVM é ruim

A configuração mínima é Pentium 100 com 32 Mb de RAM

Page 18: A Linguagem  JAVA

© Prof.Hugo Sampaio - 18

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

Page 19: A Linguagem  JAVA

© Prof.Hugo Sampaio - 19

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)

Page 20: A Linguagem  JAVA

© Prof.Hugo Sampaio - 20

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

Page 21: A Linguagem  JAVA

© Prof.Hugo Sampaio - 21

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).

Page 22: A Linguagem  JAVA

© Prof.Hugo Sampaio - 22

Instalação do Ambiente

Após instalar o pacote JDK, você terá uma estrutura de diretórios mais o menos assim :

\bin\docs\jre\...

\lib

C:\j2sdk1.4.2_05

Page 23: A Linguagem  JAVA

© Prof.Hugo Sampaio - 23

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

Page 24: A Linguagem  JAVA

© Prof.Hugo Sampaio - 24

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.

Page 25: A Linguagem  JAVA

© Prof.Hugo Sampaio - 25

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 ).

Page 26: A Linguagem  JAVA

© Prof.Hugo Sampaio - 26

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.

Page 27: A Linguagem  JAVA

© Prof.Hugo Sampaio - 27

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 umaarquivo .java (existirá um .class para

cadaclasse especificada no .java)

Page 28: A Linguagem  JAVA

© Prof.Hugo Sampaio - 28

Componentes de uma App / Applets Javaarquivo.jar:

Conjunto zipado de classes de uma aplicação

arquivo.html: Carrega e executa um applet especificadona tag :

<applet code = arquivo.class ...> </applet>

Page 29: A Linguagem  JAVA

© Prof.Hugo Sampaio - 29

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)

Page 30: A Linguagem  JAVA

© Prof.Hugo Sampaio - 30

Exemplo de uma aplicação

Javac vasco.java

compilar:

Java vascoexecutar:

public class vasco { public static void main (String[] args) { System.out.println(“VASCOOOOOOOO !”); }}

Editar:

vasco.java

Page 31: A Linguagem  JAVA

© Prof.Hugo Sampaio - 31

Exemplo de um Applet

Javac OlaPessoal.java

compilar:

OlaPessoal.java

import java.awt.Graphics;public class OlaPessoal extends java.applet.Applet{

public void paint (Graphics g) { g.drawString (“Ola Pessoal!”,5,25); }}

Editar

OlaPessoal.class

Executar no Browser

<HTML><BODY><APPLET CODE=”OlaPessoal.class” WIDTH=300 HEIGHT=100></APPLET></BODY></HTML>

Page 32: A Linguagem  JAVA

© Prof.Hugo Sampaio - 32

Plataforma IDE (JCreator)

Page 33: A Linguagem  JAVA

© Prof.Hugo Sampaio - 33

Configurando o JCreator