A Linguagem JAVA

Post on 02-Jan-2016

81 views 0 download

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

A Linguagem JAVA

Prof. Hugo SampaioSão Luís, MA

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

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

© 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

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

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

© 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

© 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

© Prof.Hugo Sampaio - 9

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

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

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

© 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

© 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

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

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

© 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

© 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

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

© 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

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

© 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

© 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

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

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

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

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

© 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>

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

© 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

© 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>

© Prof.Hugo Sampaio - 32

Plataforma IDE (JCreator)

© Prof.Hugo Sampaio - 33

Configurando o JCreator