Вы находитесь на странице: 1из 24

Introduo Linguagem Java

Breve Histrico
Sun Microsystems, 90/91: um grupo de desenvolvimento recebeu a tarefa de projetar uma linguagem de programao pequena que pudesse ser usada em dispositivos eletrodomsticos (controles remoto etc. ) Esses dispositivos no possuem muita memria, ento a linguagem teve que ser bem pequena e gerar cdigos restritos. A linguagem foi projetada para ser utilizado em diferentes tipos de hardware, graas ao uso de bytecodes e de uma Mquina Virtual.
2

Breve Histrico (cont)


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). No houve interesse comercial. Buscou-se outro modo para comercializar a tecnologia. Enquanto isso a Internet estava crescendo e era necessrio um browser para poder acess-la. Decidiu-se ento pela construo deste browser, denominado HotJava, que foi inteiramente programado em Java
3

Breve Histrico (cont)


A grande inovao em relao 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 usurio deste navegador passou a ser um potencial usurio da linguagem Java. Desde ento, um fluxo constante de novidades vem acontecendo, culminando com a linguagem Java tornando-se a atual 4 coqueluche dos programadores.

Breve Histrico (cont)


Verso atual da linguagem: 2.0 (12/98)
ltimo release: 1.3.1 (03/01)

Penltima verso da linguagem: 1.1 (02/97)


Releases: 1.1.1 a 1.1.8

Primeira verso da linguagem: 1.0 (05/96)


releases 1.0.1 e 1.0.2

Todas as verses foram e so distribudas gratuitamente (http://www.javasoft.com) no pacote JDK (Java Development Kit)

Java Development Kit


Compilador Java
javac

Java Debugger
jdb

Interpretador Java (Java Virtual Machine)


java

Gerador Automticos de Documentos


javadoc

Just-in-Time Compiler Appletviewer


6

Ambiente Java

Ambiente Java

Caractersticas da Linguagem Java


Simples Orientada a Objetos Distribuda Robusta Segura Neutra quanto Arquitetura Porttil (Write Once Run Anywhere) Anywhere Interpretada de Alto Desempenho Multithreaded (multitarefa) Dinmica

Java Simples
Verdade, se voc conhece bem C++
No existem struct, union, artimtica de ponteiros, include, classes virtuais etc.

Falso, se voc conhece apenas programao DOS ou VB, ou se no conhece OO


sintaxe estranha escreve-se muito

Verdade, pois seus produtos (.class, compilador e VM) so pequenos Falso, pois muito extensa (muitas
caractersticas)
10

Java Orientada a Objetos


Completamente verdade
metaclasses e reflexo persistncia de objetos (serializao) soluo mais elegante para herana mltipla (interfaces) em suma, por ser recente, uma linguagem OO pura (ao contrrio do C++, que hbrida)
11

Java Distribuda
Completamente verdade
extensa biblioteca de rotinas para se trabalhar com protocolo TCP/IP (FTP, HTTP, SMTP) Comunicao entre objetos remotos (RMI) Habilitada para funcionar tambm no servidor (servlets e JSP) Habilitada para funcionar tambm em dispositivos portteis (J2ME)
12

Java Robusta
Verdade
possibilidade de capturar e tratar erros de run-time (excees) excelente gerenciamento de memria
impossvel o acesso indevido memria

13

Java Segura
Mais ou menos verdade
no possvel se acessar a memria fora de seu espao de processamento possibilidade de se impedir o acesso a funes de baixo nvel quando da execuo a partir de um Browser novos releases que corrigem eventuais falhas de segurana descobertas

14

Java Neutra quanto Arquitetura


Verdade
os bytecodes contidos em um arquivo .class podem ser executados em uma grande de diferentes plataformas para as quais existam JVMs (Windows 9x, Windows NT, Windows 3.11, MacOS, Solaris, Linux, Mainframe*.* :), HP-UX, PalmTops, Web-TVs, torradeiras, cafeteiras :))) etc.
15

Java Porttil
Grande Verdade (Write Once Run
Anywhere) quem define as caractersticas particulares cada arquitetura a JVM e no o .class o padro Unicode facilita a tarefa de internacionalizao do cdigo a aplicao tem a mesma cara, no importa o S.O. (apenas a partir da verso 1.1, com o pacote Swing que pode substituir o AWT)
16

Java Interpretada
Grande desvantagem :(
o desempenho do compilador e da JVM ruim para Wintel, a configurao mnima Pentium 100 com 32 Mb de RAM

17

Java de Alto Desempenho


Pode ser verdade, graas a mecanismos como:
JIT (Just in Time Compiler) compiladores nativos (transformam o .class em .exe) IDEs (JBuilder, Visual Caf etc), que facilitam muito o desenvolvimento das aplicaes

18

Java Multithreaded
Permite que um programa faa mais de uma coisa ao mesmo tempo
muito fcil de implementar porm, a maneira como a JVM interpreta o cdigo multithreaded varia, dependendo da arquitetura

19

Java Dinmica
Os bindings so resolvidos em tempo de execuo (funciona bem somente a partir da verso 1.1) Permite que novos mtodos sejam acrescentados a uma biblioteca sem afetar os clientes desta biblioteca

20

Java a Linguagem da Internet


Do lado do Cliente, isto mais ou menos verdade, graas aos applets, que so suportados por praticamente todos os Web Browser (diferente de outras tecnologias que exigem o uso de plug-in) Do lado do Cliente, applets so mais profissionais que linguagens script (Javascript e VBScript por exemplo)
21

Java a Linguagem da Internet (cont)


Do lado do Servidor, isto verdade graas aos servlets (applets que rodam no servidor e que substituem os scripts Perl como mecanismo para CGI) e ao JSP (Java Server Pages), tecnologia que facilita a criao de pginas dinmicas

22

O que Java no ...


Java no Javascript e vice-versa Java no uma extenso de HTML Java no fcil de aprender Java no um ambiente fcil de se programar Java ainda no uma linguagem de programao universal
23

O que Java no ... (cont)


Java no to lenta quanto seus inimigos dizem (madura o suficiente para o desenvolvimento de aplicaes srias) Java no se restringe somente Internet (boa para aplicaes OO standalone, com ou sem interface grfica)

24

Вам также может понравиться