Você está na página 1de 9

Mdulo 1

Introduo Programao I
Lio 2
Histrico de Java
Verso 1.0 - Jan/2007
JEDI
TM
Autor
Florence Tiu Balagtas
Equipe
Joyce vestro
Florence Balagtas
!ommel Feria
!eginald Hutc"erson
!e#ecca $ng
Jo"n Paul Petines
%ang %"in
!ag"avan %rinivas
Matt"e& T"om'son
Necessidades para os Exerccios
Sistemas Operacionais Suportados
NetBeans !E "#" 'ara os seguintes sistemas o'eracionais(
Microso)t *indo&s +P Pro)issional %P, ou su'erior
Mac $% + -./0/1 ou su'erior
!ed Hat Fedora 2ore 3
%olaris4 -. $'erating %ystem 5%P!26 e 789:790 Plat)orm Edition;
NetBeans Enterprise $ac%< 'oder= ser e7ecutado nas seguintes 'lata)ormas(
Microso)t *indo&s ,... Pro)issional %P0
%olaris4 8 $% 5%P!2 e 789:790 Plat)orm Edition; e %olaris > $% 5%P!2 e
789:790 Plat)orm Edition;
?=rias outras distri#ui@es Ainu7
&on'i(urao Mnima de )ard*are
Nota+ IDE BetBeans com resoluo de tela em -.,07C98 'i7el
Sistema Operacional $rocessador Memria )! Li,re
Microso)t *indo&s 1.. MHD Intel Pentium III
&orEstation ou eFuivalente
1-, MB 81. MB
Ainu7 1.. MHD Intel Pentium III
&orEstation ou eFuivalente
1-, MB 01. MB
%olaris $% 5%P!2; Gltra%P!2 II 01. MHD 1-, MB 01. MB
%olaris $% 5789:790
Plat)orm Edition;
MD $'teron -.. %Hrie -/8 IHD 1-, MB 01. MB
Mac $% + Po&erP2 I0 1-, MB 01. MB
&on'i(urao -ecomendada de )ard*are
Sistema Operacional $rocessador Memria )! Li,re
Microso)t *indo&s -/0 IHD Intel Pentium III
&orEstation ou eFuivalente
- IB - IB
Ainu7 -/0 IHD Intel Pentium III
&orEstation ou eFuivalente
- IB 81. MB
%olaris $% 5%P!2; Gltra%P!2 IIIi - IHD - IB 81. MB
%olaris $% 5789:790
Plat)orm Edition;
MD $'teron -.. %eries -/8 IHD - IB 81. MB
Mac $% + Po&erP2 I1 - IB 81. MB
-equerimentos de So't*are
BetBeans Enter'rise PacE 1/1 e7ecutando so#re Java , Plat)orm %tandard Edition
Develo'ment Jit 1/. ou su'erior 5JDJ 1/.< verso -/1/.K.- ou su'erior;< contem'lando
a Java !untime Environment< )erramentas de desenvolvimento 'ara com'ilar< de'urar<
e e7ecutar a'lica@es escritas em linguagem Java/ %un Java %ystem ''lication %erver
Plat)orm Edition >/
Para Solaris< .indo*s< e Linux< os arFuivos da JDJ 'odem ser o#tidos 'ara sua
'lata)orma em "tt'(::Lava/sun/com:L,se:-/1/.:do&nload/"tml
Para Mac OS /< Java , Plata)orm %tandard Edition 5J,%E; 1/. !elease 0< 'ode ser
o#tida diretamente da ''leMs Develo'er 2onnection< no endereo(
"tt'(::develo'er/a''le/com:Lava 5H necess=rio registrar o do&nload da JDJ;/

Para mais in)orma@es( "tt'(::&&&/net#eans/org:community:releases:11:relnotes/"tml
Introduo Programao I ,
JEDI
TM
Colaboradores que auxiliaram no processo de traduo e reviso
le7andre Mori
le7is da !oc"a %ilva
line %a##atini da %ilva lves
llan *oLciE da %ilva
ndrH AuiD Moreira
ndro M=rcio 2orrea Aouredo
ntoniele de ssis Aima
ntonio Jose !/ lves !amos
urHlio %oares Beto
Bruno da %ilva Bon)im
Bruno dos %antos Miranda
Bruno Ferreira !odrigues
2arlos l#erto ?itorino de lmeida
2arlos le7andre de %ene
2arlos ndrH Boron"a de %ousa
2arlos Eduardo ?eras Beves
2le#er Ferreira de %ousa
2leyton rtur %oares Grani
2ristiano Borges Ferreira
2ristiano de %iFueira Pires
Derlon ?andri liendres
Fa#iano Eduardo de $liveira
F=#io Bom#onato
Fernando ntonio Mota Trinta
Fl=vio lves Iomes
Francisco das 2"agas
Francisco Marcio da %ilva
Iilson Moreno 2osta
Iivailson de %ouDa Beves
Iustavo HenriFue 2astellano
He#ert Julio Ionalves de Paula
Heraldo 2onceio Domingues
Hugo Aeonardo Mal"eiros Ferreira
Ivan Bascimento Fonseca
JacFueline %usann Bar#osa
Jader de 2arval"o Belarmino
Joo urHlio Telles da !oc"a
Joo Paulo 2irino %ilva de Bovais
Joo ?ianney BarroDo 2osta
JosH ugusto Martins BieviadonsEi
JosH Aeonardo Borges de Melo
JosH !icardo 2arneiro
Jle#ert" BeDerra I/ dos %antos
Aa)aiete de %= Iuimares
Aeandro %ilva de Morais
Aeonardo Aeo'oldo do Bascimento
Aeonardo Pereira dos %antos
Aeonardo !angel de Melo Filardi
Aucas Mauricio 2astro e Martins
Auciana !oc"a de $liveira
AuNs 2arlos ndrH
AuNs $ct=vio Jorge ?/ Aima
AuiD Fernandes de $liveira Junior
AuiD ?ictor de ndrade Aima
Manoel 2otts de OueiroD
Marcello %andi Pin"eiro
Marcelo $rtolan PaDDetto
Marco urHlio Martins Bessa
Marcos ?inicius de Toledo
Maria 2arolina Ferreira da %ilva
Massimiliano Iiroldi
Mauricio Devedo Iamarra
Mauricio da %ilva Marin"o
Mauro 2ardoso Mortoni
Mauro !egis de %ousa Aima
Bamor de %= e %ilva
BHres 2"aves !e#ouas
Bolyanne Pei7oto Brasil ?ieira
Paulo )onso 2orrPa
Paulo JosH Aemos 2osta
Paulo $liveira %am'aio !eis
Pedro ntonio Pereira Miranda
Pedro HenriFue Pereira de ndrade
!enato lves FHli7
!enato Bar#osa da %ilva
!eyderson Magela dos !eis
!icardo Ferreira !odrigues
!icardo Glric" Bom)im
!o#son de $liveira 2un"a
!odrigo Pereira Mac"ado
!odrigo !osa Miranda 2orrPa
!odrigo ?aeD
!onie DotDla&
!osely Moreira de Jesus
%eire PareLa
%ergio Pomeranc#lum
%ilvio %Dni)er
%uDana da 2osta $liveira
T=sio ?asconcelos da %ilveira
T"iago Magela !odrigues Dias
Tiago IimeneD !i#eiro
?anderlei 2arval"o !odrigues Pinto
?anessa dos %antos lmeida
?astN Mendes da %ilva !oc"a
*agner ElieDer !oncoletta
Auxiliadores especiais
!eviso Ieral do te7to 'ara os seguintes PaNses(
Brasil Q Tiago Flac"
0uin1 Bissau Q l)redo 2=< Bunene %isse e Buon $lossato Oue#i Q $BI sas de %ocorro
Coordenao do DFJUG
!aniel deOli,eira Q JGIAeader res'ons=vel 'elos acordos de 'arcerias
Luci &ampos 2 IdealiDadora do DFJGI res'ons=vel 'elo a'oio social
3ernando Anselmo 2 2oordenador res'ons=vel 'elo 'rocesso de traduo e reviso<
dis'oni#iliDao dos materiais e insero de novos mdulos
-e(ina Mariani 2 2oordenadora res'ons=vel 'ela 'arte LurNdica
-odri(o Nunes 2 2oordenador res'ons=vel 'ela 'arte multimNdia
S1r(io 0omes 4eloso 2 2oordenador res'ons=vel 'elo am#iente JEDI
TM
5Moodle;
A(radecimento Especial
5o6n $aul $etines 7 2riador da Iniciativa JEDI
TM
-ommel 3eria 7 2riador da Iniciativa JEDI
TM
Introduo Programao I 3
JEDI
TM
1# O89eti,os
Besta lio iremos discutir um 'ouco da "istria de Java e o Fue H a tecnologia Java/ Tam#Hm
iremos discutir as )ases de um 'rograma Java/
o )inal desta lio< o estudante ser= ca'aD de(
Descrever as caracterNsticas da tecnologia Java como a J?M R M=Fuina ?irtual Java<
Iar#age 2ollection e segurana do cdigoS
Descrever as di)erentes )ases de um 'rograma Java/
Introduo Programao I 0
JEDI
TM
2# Explorando o 5a,a
2.1. Um pouco da histria
Java )oi criado em ->>- 'or James Iosling da %un Microsystems/ Inicialmente c"amada $J
52arval"o;< em "omenagem uma =rvore de Lanela do Iosling< seu nome )oi mudado 'ara Java
devido a e7istPncia de uma linguagem com o nome $J/
Figura 1: James Gosling criador do Java
motivao original do Java era a necessidade de uma linguagem inde'endente de 'lata)orma
Fue 'odia ser utiliDada em v=rios 'rodutos eletrTnicos< tais como torradeiras e re)rigeradores/ Gm
dos 'rimeiros 'roLetos desenvolvidos utiliDando Java era um controle remoto 'essoal c"amado UC
5%tar %even;/
Figura 2: Star Seven
o mesmo tem'o< a *orld *ide *e# e a Internet )oram gan"ando 'o'ularidade/ Iosling ac"ava
Fue a linguagem Java 'oderia ser usada 'ara 'rogramao da Internet/
2.2. O ue ! a tecnolo"ia Ja#a$
2#2#1# :ma lin(ua(em de pro(ramao
2omo linguagem de 'rogramao< Java 'ode ser utiliDado 'ara criar todos os ti'os de a'lica@es
e7istentes< de 'rogramas de InteligPncia rti)icial 'ara !o#Ts atH 'rogramas 'ara a'arel"os
celulares/
Introduo Programao I 1
JEDI
TM
2#2#2# :m am8iente de desen,ol,imento
2omo am#iente de desenvolvimento< a tecnologia Java )ornece um grande conLunto de
)erramentas( um com'ilador< um inter'retador< um gerador de documentao< )erramenta de
em'acotamento de classes de arFuivos e outros/
2#2#;# :m am8iente de aplicao
'lica@es de tecnologia Java so ti'icamente 'rogramas de 'ro'sito geral Fue e7ecutam so#re
uma m=Fuina onde o Java !untime Environment H instalado/
2#2#<# :m am8iente de distri8uio
H= dois am#ientes de distri#uio 'rinci'ais( Primeiro< o 5-E< )ornecido atravHs do Java ,
%o)t&are Develo'ment Jit 5%DJ;< contHm um conLunto com'leto de arFuivos de classes 'ara
todos 'acotes de tecnologia Java/ $utro am#iente de distri#uio H o na,e(ador *e8< ou seLa< o
8ro*ser/ $s navegadores &e# atuais )ornecem inter'retao tecnologia e am#iente Java em
tem'o de e7ecuo/
Figura 3: JDK e JRE
2.%. Al"umas caracter&sticas do Ja#a
2#;#1# M=quina 4irtual 5a,a
M=quina 4irtual 5a,a H uma m=Fuina imagin=ria Fue H im'lementada atravHs de um so)t&are
emulador em uma m=Fuina real/ J?M 'rovP es'eci)ica@es de 'lata)orma de "ard&are na Fual
com'ilaRse todo cdigo de tecnologia Java/ Essas es'eci)ica@es 'ermitem Fue o so)t&are Java
seLa uma 'lata)orma inde'endente 'ois a com'ilao H )eita 'or uma m=Fuina genHrica
con"ecida como J?M/
$ 8>tecode H uma linguagem de m=Fuina es'ecial Fue 'ode ser entendida 'ela M=quina
4irtual 5a,a ?54M@/ $ #ytecode H inde'endente de FualFuer "ard&are de com'utador
'articular/ ssim< FualFuer com'utador com o inter'retador Java 'ode e7ecutar um 'rograma
Java com'ilado< no im'ortando em Fue ti'o de com'utador o 'rograma )oi com'ilado/
Introduo Programao I 9
JEDI
TM
2#;#2# 0ar8a(e &ollection
Muitas linguagens de 'rogramao 'ermitem ao 'rogramador alocar memria durante o tem'o
de e7ecuo/ Entretanto< a's utiliDar a memria alocada< deve e7istir uma maneira 'ara
desalocar o #loco de memria de )orma Fue os demais 'rogramas a utiliDem novamente/ Em 2<
2VV e outras linguagens o 'rogramador H o res'ons=vel 'or isso/ Isso< s veDes< 'ode ser di)Ncil
L= Fue instWncias 'odem ser esFuecidas de serem desalocadas da memria 'elos 'rogramadores
e resultar no Fue c"amamos de esca'es da memria/
Em Java< o 'rogramador no 'ossui a o#rigao da retirar uma vari=vel criada das =reas de
memria< isto H )eito 'or uma 'arte da J?M es'ecN)ica Fue c"amamos de 0ar8a(e &ollection/ $
0ar8a(e &ollection H o grande res'ons=vel 'ela li#erao autom=tica do es'ao em memria/
Isso acontece automaticamente durante o tem'o de vida do 'rograma Java/
2#;#;# Se(urana do &di(o
%egurana do 2digo H alcanada em Java atravHs da im'lementao da 5a,a -untime
En,ironment 55-E;/ J!E roda cdigos com'ilados 'ara a J?M e e7ecuta o carregamento de
classes 5atravHs do &lass Loader;< veri)icao de cdigo 5atravHs do veri)icador de 8>tecode; e
)inalmente o cdigo e7ecut=vel/
$ &lass Loader H res'ons=vel 'or carregar todas as classes necess=rias ao 'rograma Java/ Isso
adiciona segurana atravHs da se'arao do namespace entre as classes do sistema de arFuivos
local e aFuelas Fue so im'ortadas 'ela rede/ Isso limita FualFuer ao de 'rogramas Fue 'odem
causar danos< 'ois as classes locais so carregadas 'rimeiro/ De'ois de carregar todas as classes<
a Fuantidade de memria Fue o e7ecut=vel ir= ocu'ar H determinada/ Isto acrescenta<
novamente< uma 'roteo ao acesso no autoriDado de =reas restritas ao cdigo 'ois a
Fuantidade de memria ocu'ada H determinada em tem'o de e7ecuo/
's carregar as classes e de)inir a Fuantidade de memria< o ,eri'icador de 8>tecode veri)ica
o )ormato dos )ragmentos de cdigo e 'esFuisa nestes )ragmentos 'or cdigos ilegais Fue
'ossam violar o direito de acesso aos o#Letos/
De'ois Fue tudo isso tiver sido )eito< o cdigo H )inalmente e7ecutado/
2.'. Fases do (ro"rama Ja#a
)igura seguinte descreve o 'rocesso de com'ilao e e7ecuo de um 'rograma Java/
$ 'rimeiro 'asso 'ara a criao de um 'rograma Java H escrever os 'rogramas em um editor de
te7to/ E7em'los de editores de te7to Fue 'odem ser utiliDados( #loco de notas< vi< emacs< etc/
Esses arFuivos so armaDenados no disco rNgido com a e7tenso /Lava/
Introduo Programao I C
Figura 1: Fases de um Programa Java.
JEDI
TM
's o 'rograma Java ter sido criado e salvo< com'ile o 'rograma utiliDando o 2om'ilador Java/
saNda desse 'rocesso H um arFuivo de 8>tecode com e7tenso /class/
$ arFuivo /class H ento lido 'elo Inter'retador Java Fue converte os #ytecodes em linguagem de
m=Fuina do com'utador Fue se est= usando/
)are*a Ferramenta utili+ada ,a&da
Escrever o 'rograma OualFuer editor de te7to rFuivo com e7tenso /Lava
2om'ilar o 'rograma 2om'ilador Java rFuivo com e7tenso /class
5Java #ytecode;
E7ecutar o 'rograma Inter'retador Java %aNda do 'rograma
Taela 1: Resumo das !ases de um "rograma Java.
Introduo Programao I 8
JEDI
TM
$arceiros que tornaram 5E!
AM
poss,el
-nstituto C),
Patrocinador do DFJGI/
,un .icros/stems
Fornecimento de servidor de dados 'ara o armaDenamento dos vNdeoRaulas/
Ja#a 0esearch and De#elopment Center da Uni#ersidade das Filipinas
2riador da Iniciativa JEDI
TM
/
DFJUG
Detentor dos direitos do JEDI
TM
nos 'aNses de lNngua 'ortuguesa/
1anco do 1rasil
Dis'oni#iliDao de seus telecentros 'ara a#rigar e di)undir a Iniciativa JEDI
TM
/
(olitec
%u'orte e a'oio )inanceiro e logNstico a todo o 'rocesso/
1orland
'oio internacional 'ara Fue 'ossamos alcanar os outros 'aNses de lNngua
'ortuguesa/
-nstituto Gaudium2C311
Fornecimento da sua in)raRestrutura de "ard&are de seus servidores 'ara Fue os
mil"ares de alunos 'ossam acessar o material do curso simultaneamente/
Introduo Programao I >

Você também pode gostar