Escolar Documentos
Profissional Documentos
Cultura Documentos
Java Basico PDF
Java Basico PDF
Introduo
Introdu o a Linguagem Java
Prof. Jucimar Souza
Objetivos da Aula
Conhecer a linguagem Java, seu histrico
e suas caractersticas
Desenvolver um programa em Java
Entender o Ambiente do Java
Visualizar algumas Tecnologias de Java
1
1 O que o Java?
Java uma linguagem de programao, introduzida
em 1995 pela Sun Microsystems.
Java vem provocando uma revoluo com relao
ao desenvolvimento de software.
Motivos:
Resultado de um trabalho consistente de pesquisa;
Facilidades de programao proporcionada pela orientao a
objetos;
Pela portabilidade do cdigo produzido;
Pelas caractersticas de segurana;
Facilidade de integrao aos outros ambientes, destacando-se
a Internet.
Prof. Jucimar Souza
2 Pequeno Histrico
Em 1991, com um pequeno grupo de projeto da Sun Microsystems
denominado Green que pretendia criar uma nova gerao de
computadores portteis.
O projeto resultou no desenvolvimento de uma linguagem baseada em C
e C++ que o seu criador James Gosling, chamou de Oak (carvalho) em
homenagem a uma rvore que dava para janela do seu escritrio da Sun.
Descobriu-se mais tarde que j havia uma linguagem chamada Oak.
Quando uma equipe da Sun visitou uma cafeteria local, o nome Java
(cidade de origem de um tipo de caf importado) foi sugerido e pegou.
O projeto Green atravessava algumas dificuldades, em funo do
mercado de dispositivos eletrnicos inteligentes destinados ao
consumidor final no cresceu como previa a Sun. Por pura sorte em 1993
a Word Wide Web explodiu em popularidade e a Sun explorou o potencial
de Java para criar paginas Web com o chamado contedo dinmico. O
que deu nova vida ao projeto.
Jonathan Payne e Patrick Naughton desenvolveram o navegador
WebRunner, capaz de efetuar o download e a execuo de cdigo Java
via Internet.
2
Start 7 (Projeto Green)
- Monitor LCD 5 colorido e touchscreen
-Interface PCMCIA Wireless
-Verso de UNIX rodando em menos de
1MB
- Linguagem segura, robusta, multi-
plataforma, com threads, bibliotecas
coleta automtica de lixo, distribuda entre
outras caractersitcas.
- Controle remoto
- Permitia distribuio de objetos em uma
rede sem fio
Obs: O Duke, maskote do Java at hoje foi criado juntamente com o projeto Star Seven!
Prof. Jucimar Souza
2 Pequeno Histrico
Apresentada formalmente pela Sun como o navegador HotJava e
a linguagem Java no SunWorld95.
Poucos meses depois a Netscape Corp.lana uma nova verso do
seu navegador tambm capaz de efetuar o download e a
execuo de pequenas aplicaes Java, chamadas de applets.
A Sun decide disponibilizar o Java gratuitamente para a
comunidade, embora detenha todos os direitos relativos
linguagem e as ferramentas de sua autoria.
Surge assim o Java Developers Kit 1.0 (JDK 1.0)
Em 1997, surge o JDK 1.1 que incorpora grandes melhorias para o
desenvolvimento de aplicaes grficas e distribudas;
No incio de 1999 lanado o JDK 1.2, (Java 2).
3
3 Caractersticas Importantes
Orientada a Objetos
Independente de Plataforma
Desempenho
Segurana
Permite Multithreading
4 - Recursos Necessrios
Ambiente de Desenvolvimento
Java Developers Kit em verso superior JDK 1.6
Navegador compatvel com o Java:
Netscape Communicator, Microsoft Internet Explorer 4 ou
verses superiores e Mozilla Firefox
O JDK, pode ser obtido gratuitamente no site:
http://java.sun.com
Verses de demonstrao dos navegadores:
http://www.microsoft.com (Microsoft)
http://www.netscape.com (Netscape)
http://java.sun.com/products/hotjava (Sun - HotJava)
Prof. Jucimar Souza
4
5 O Sun Java Developers Kit
Um compilador (javac)
Uma mquina virtual Java (java)
Um visualizador de applets (appletviewer)
Bibliotecas de desenvolvimento (os packages
java)
Um programa para composio de documentos
(javadoc)
Um depurador bsico de programas (jdb)
Verso run-time do ambiente de execuo (jre)
5
6 Desenvolvendo um programa
/* Aplicao Hello World */
public class HelloWorld{
public static void main(String args[ ]){
System.out.println(Hello, world !);
}
}
Edite o cdigo acima em algum editor de texto e salve-o com o
mesmo nome da classe acrescido da extenso java:
HelloWorld.java
Compilando o arquivo:
javac HelloWorld.java
O diretrio deve ter recebido um novo arquivo aps a compilao:
HelloWorld.class
Executando o cdigo Java:
java HelloWorld
Prof. Jucimar Souza
6
7 O Ambiente Java
Editor Verificador
bytecodes
bytecodes
.java
Carregador
Compilador
.class Interpretador
8 Mapa de Tecnologias
JSDK Java Software Development Kit
So includos, pelo menos, um compilador e um interpretador.
Outras ferramentas: depuradores e geradores de documentao.
Um sinnimo comum JDK (Java Development Kit)
JVM Java Virtual Machine
A mquina virtual Java um software nativo (ele no feito em
Java) que interpreta os bytecodes (cdigo intermedirio Java).
A primeira verso da JVM apenas interpretava.
Just-in-Time(JIT): que compilavam parte do cdigo na hora em
que era executado, fazendo otimizaes e aumentando muito o
desempenho.
7
8 Mapa de Tecnologias
HotSpot: foi uma evoluo introduzida a mquina virtual, um JIT
especial que usa tecnologias de compilao adaptativa, para otimizar,
dinamicamente, cdigos usados com mais freqncias e melhorar a
alocao de recursos.
JRE Java Runtime Environment
O JRE (Ambiente de Execuo Java) um subconjunto do JSDK,
direcionado para usurios finais.
Inclui a JVM e as classes principais de Java.
J2SE (JSE) Java Standard Edition
O J2SE era a nica edio de Java, chamada apenas de Java
Platform, depois vieram o J2EE e o J2ME.
O J2SE contm as classes principais da plataforma Java, e chamado
s vezes de Core Java Platform.
8 Mapa de Tecnologias
J2ME Java 2 Micro Edition
Uma das mais jovens plataformas Java, o J2ME o Java para
pequenos dispositivos, desde de handhelds at celulares e pagers.
Apoio muito grande da comunidade e da indstria.
A vantagem decisiva a possibilidade de usar a mesma linguagem e
praticamente as mesmas APIs no desenvolvimento para centenas de
dispositivos diferentes.
J2EE Java 2 Enterprise Edition
Uma das siglas mais conhecidas do universo de tecnologias Java, o
J2EE tem alterado significativamente o desenvolvimento de
aplicaes distribudas.
8
8 Mapa de Tecnologias
Sinnimos: plataforma, arquitetura, tecnologia, conjunto de
padres, especificaes ... h nomes para todos os gostos.
O J2EE pode ser considerado uma tecnologia guarda-
chuva englobando um conjunto de tecnologias que, juntas,
fornecem APIs e um ambiente para desenvolvimento e
execues corporativas, extremamente complexas e
distribudas fisicamente.
As tecnologias englobadas pelo J2EE:
JDBC para acesso a dados;
Servlets e JSP para desenvolvimento web;
EJB componentes de negcio distribudos;
JavaMail para envio e recepo de e-mail;
RMI-IIOP para comunicao entre componentes.
8 Mapa de Tecnologias
JDBC Java Database Connectivity
O JDBC uma soluo elegante para o acesso multiplataforma a
bancos de dados.
Praticamente toda a arquitetura JDBC baseada em interfaces e
especificaes, e isso que torna a API to geral e padronizada
para Sistemas de Gerenciamento de Banco de Dados (SGBD) to
distintos como Oracle, MySQL e Microsoft SQL Server.
O acesso a dados com JDBC baseado em drivers JDBC, que so
implementados por conjuntos de classes que conhecem intimamente
a arquitetura e os comando do SDBD.
Um fato interessante que os drivers JDBC so implementados pelos
fabricantes dos SGBDs.
9
8 Mapa de Tecnologias
Servlets
Servlets so extenses puro Java do padro CGI. So usados para a
gerao de contedo dinmico para a web.
Um Servlet uma classe Java que conhece o protocolo HTTP (usado
pelos browsers). Assim, capaz de processar solicitaes HTTP, ler
e processar parmetros de formulrios HTML e enviar respostas
HTTP.
Em softwares bem arquitetados para web, hoje recomendado o
uso da tecnologia JavaServer Pages (JSP) para a apresentao
(parte visual) das aplicaes e de Servlets exclusivamente para a
lgica de validao e controle.
8 Mapa de Tecnologias
JSP JavaServer Pages
Uma das APIs de maior sucesso de Java, JavaServer Pages usada
para a criao de pginas web dinmicas.
Com JSP possvel criar pginas que mesclem cdigo Java com
HTML, permitindo a criao de templates com regies dinmicas e
estticas.
Os cdigos JSP so includos dentro do HTML usando tags especiais
(<% e %>).
Em uma evoluo da primeira verso do JSP, os tag libraries,
permitem reduzir o cdigo Java embutido no HTML simplificando o
trabalho de designers e desenvolvedores.
10
8 Mapa de Tecnologias
EJB Enterprise JavaBeans
A especificao EJB define um padro para componentes de
negcio distribudos.
EJB tambm usado para se referir aos componentes criados
seguindo a especificao.
EJB so executados em um runtime (ambiente de execuo), que
fornece servios bsicos de gerenciamento de transaes,
persistncia distribuio e nomes.
O runtime geralmente implementado por softwares sofisticados; os
Application Servers (servidores de aplicaes).
Uma das principais vantagens de usar EJBs o ganho em
produtividade.
8 Mapa de Tecnologias
AWT Abstract Window Toolkit
A AWT acompanha o Java desde sua primeira verso. Nesta API so
definidos eventos, janelas, caixas de dilogo, cores e outros
elementos visuais.
A primeira verso do AWT era pesada e pouco prtica. Na segunda,
que veio com o Java 1.1, vrias questes foram resolvidas, mas um
problema crtico da tecnologia permanecia: os recursos grficos
usados pelo AWT vinham do sistema operacional.
O AWT funcionava apenas como uma casca sobre os elementos
visuais da plataforma. Isso criava muitos problemas de
compatibilidade e de desempenho, e pior: restringia muito os
recursos que podiam ser disponibilizados .
Apesar de todas as desvantagens, o AWT ainda sobrevive, mas hoje
usado mais como uma camada de servios bsicos para a mais
moderna API Swing.
11
8 Mapa de Tecnologias
Swing
O Swing, a principal parte do JFC (Java Foundation Classes), estende
e, em muitas reas, substitui o AWT.
Todos os componentes visuais so desenhados diretamente na tela o
que retira a dependncia dos recursos de interfaces grficas do
sistema operacional.
Nas verses iniciais do Swing, aplicaes construdas com a
tecnologia eram pesadas e lentas, mas com o J2SE 1.4, j se
chegou a uma velocidade e leveza aceitvel, viabilizando finalmente a
criao de aplicaes grficas usando Java.
12