Ce livre sadresse à tout informaticien désirant développer sous Java. Que le lecteur soit débutant ou quil ait déjà une première expérience avec
un autre langage il trouvera dans cet ouvrage toutes les bases nécessaires pour se familiariser rapidement avec un des langages les plus
utilisés au monde.
Les trois premiers chapitres présentent les bases du langage et de la programmation objet. Les chapitres suivants étudient le développement
d
applications graphiques avec la
bibliothèque Swing
et la création
d
applets permettant denrichir facilement le contenu de pages web. Le
développement dapplications client/serveur est également présenté avec
l’
API JDBC
assurant
l’
accès aux bases de données. Le déploiement
étant une étape importante du succès dune application, le dernier chapitre présente la
distribution
dune application avec la solution classique
des fichiers d
archives ou lutilisation plus souple de la technologie Java Web Start
.
Le livre ne nécessite pas doutils de développement spécifiques. Un éditeur de texte et les outils disponibles gratuitement sur le site de Sun sont
suffisants pour mener à bien lapprentissage de ce langage passionnant et en plein essor.
Les exemples cités dans louvrage sont en téléchargement sur cette page.
Ce livre numérique a été conçu et est diffusé dans le respect des droits dauteur. Toutes les marques citées ont été déposées par leur éditeur respectif. La loi du 11 Mars
1957 nautorisant aux termes des alinéas 2 et 3 de larticle 41, dune part, que les copies ou reproductions strictement réservées à lusage privé du copiste et non destinées
à une utilisation collective
, et, dautre part, que les analyses et les courtes citations dans un but dexemple et dillustration, toute représentation ou reproduction intégrale,
ou partielle, faite sans le consentement de lauteur ou de ses ayants droit ou ayant cause, est illicite
(alinéa 1er de larticle 40). Cette représentation ou reproduction, par
quelque procédé que ce soit, constituerait donc une contrefaçon sanctionnée par les articles 425 et suivants du Code Pénal. Copyright Editions ENI
JAVA6
Les fondamentaux du langage Java
ThierryGROUSSARD
Résumé
L'auteur
Analyste et développeur pendant plus de 10 ans, Thierry Groussard s'est ensuite orienté vers la formation et plus particulièrement dans le
domaine du développement. Sa connaissance approfondie des besoins de l'entreprise et ses qualités pédagogiques rendent ses ouvrages
particulièrement adaptés à l'apprentissage et à la mise en pratique d'un langage de développement.
- 1 -© ENI Editions - All rigths reserved
Historique
1.PourquoiJava?
Bill Joy, ingénieur chez SUN MICROSYSTEM, et son équipe de chercheurs travaillaient sur le projet "Green" qui
consistait à développer des applications destinées à une large variété de périphériques et systèmes embarqués
(notammenttéléphonescellulairesettéléviseursinteractifs).
Convaincusparlesavantagesdelaprogrammationorientéeobjet(POO),ilschoisissaientdedévelopperavecle
langageC++éprouvépoursesperformances.
Mais,parrapportàcegenredeprojet,C++arapidementmontréseslacunesetseslimites.Eneffet,denombreux
problèmesd
incompatibilitésesontposésparrapportauxdifférentesarchitecturesmatérielles(processeurs,taille
mémoire)etauxsystèmesd
exploitationrencontrés,ainsiqu
auniveaudel
adaptationdel
interfacegraphiquedes
applicationsetdel
interconnexionentrelesdifférentsappareils.
EnraisondesdifficultésrencontréesavecC++,ilétaitpréférabledecréerunnouveaulangageautourd
unenouvelle
plate
formededéveloppement.DeuxdéveloppeursdechezSUN,JamesGoslingetPatrickNaughtonsesontattelésà
cettetâche.
La création de ce langage et de cette plate
forme s
est inspirée des fonctionnalités intéressantes offertes par
d
autreslangagestelsqueC++,Eiffel,SmallTalk,ObjectiveC,Cedar/Mesa,Ada,Perl.Lerésultatestuneplate
forme
etunlangageidéauxpourledéveloppementd
applicationssécurisées,distribuées etportables surde nombreux
périphériquesetsystèmesembarquésinterconnectésenréseaumaiségalementsurInternet(clientslégers),etsur
desstationsdetravail(clientslourds).
D
abordsurnomméC++

(C++sanssesdéfauts)puisOAK,maisils
agissaitd
unnomdéjàutilisédansledomaine
informatique,ilfutfinalementbaptiséJava,motd
argotvoulantdirecafé,enraisondesquantitésdecaféingurgité
parlesprogrammeursetnotammentparsesconcepteurs.Etainsi,en1991,estnélelangageJava.
2.ObjectifsdelaconceptiondeJava
Par rapport aux besoins exprimés, il fallait un langage et une plate
forme simples et performants, destinés au
développementetaudéploiementd
applicationssécurisées,surdessystèmeshétérogènesdansunenvironnement
distribué,devantconsommerunminimumderessourcesetfonctionnersurn
importequelleplate
formematérielleet
logicielle.
LaconceptiondeJavaaapportéuneréponseefficaceàcesbesoins:
Langaged
unesyntaxe simple, orienté objet etinterprété,permettant d
optimiserle temps et lecyclede
développement(compilationetexécution).
Lesapplicationssontportablessansmodificationsurdenombreusesplates
formesmatériellesetsystèmes
d
exploitation.
Lesapplicationssontrobustescarlagestiondelamémoireestpriseenchargeparlemoteurd
exécutionde
Java(JavaRuntimeEnvironment),etilestplusfaciled
écriredesprogrammessanserreurparrapportauC++,
enraisond
unmécanismedegestiondeserreursplusévoluéetplusstrict.
Lesapplicationsetnotammentlesapplicationsgraphiquessontperformantesenraisondelamiseenœuvre
etdelapriseenchargedufonctionnementdemultiplesprocessuslégers(Threadetmultithreading).
Le fonctionnement des applications est sécurisé, notamment dans le cas d
Applet Java où le moteur
d
exécution de Java veille à ce qu
aucune manipulation ou opération dangereuse ne soit effectuée par
l
Applet.
3.EssordeJava
Malgré la création de Java, les développements du projet "Green" n
ont pas eu les retombées commerciales
escomptéesetleprojetfutmisdecôté.
Àcetteépoque,l
émergenced
Internetetdesarchitecturesclient/serveurhétérogènesetdistribuéesaapportéune
certainecomplexitéaudéveloppementdesapplications.
- 1 -© ENI Editions - All rigths reserved
LescaractéristiquesdeJavasetrouventalorségalementfortintéressantespourcetyped
applications.
Eneffet:
un programme Java étant peu encombrant, son téléchargement à partir d
un site Internet prend peu de
temps.
unprogrammeJavaestportableetpeutdoncêtreutilisésansmodificationsousn
importequelleplate
forme
(Windows,Macintosh,Unix,Linux...).
Javasetrouve alorsunnouveaudomained
applicationsurle réseaumondialInternet,ainsique surlesréseaux
locauxdansunearchitectureIntranetetclient/serveurdistribuée.
PourprésenteraumondelespossibilitésdeJava,deuxprogrammeursdeSUN,PatrickNaughtonetJonathanPeayne
ontcrééetprésentéausalonSunWorldenmai1995unnavigateurWebentièrementprogramméenJavadunomde
HOTJAVA.Celui
cipermetl
exécutiondeprogrammesJava,nommésApplets,danslespagesauformatHTML.
En août 1995, la société Netscape, très intéressée par les possibilités de Java, signe un accord avec SUN lui
permettant d
intégrer Java et l
implémentation des Applets dans son navigateur Web (Netscape Navigator). En
janvier1996,Netscapeversion2arrivesurlemarchéenintégrantlaplate
formeJava.
C
estdoncInternetquiaassurélapromotiondeJava.
Fort de cette réussite, SUN décide de promouvoir Java auprès des programmeurs en mettant à disposition
gratuitementsursonsiteWebdèsnovembre1995,uneplate
formededéveloppementdansuneversionbêtadu
nomdeJDK1.0(JavaDevelopmentKit
).
Peu après, SUN crée une filiale du nom de JAVASOFT (http://java.sun.com), dont l
objectif est de continuer à
développerlelangage.
Depuis,Javan
afaitqu
évoluertrèsrégulièrementpourdonnerunlangageetuneplate
formetrèspolyvalentset
sophistiqués,etdegrandescompagniestellesqueBorland/Inprise,IBM,Oracle,pourneciterqu
eux,ontmisétrès
fortementsurJava.
Javaestaujourd
huilepremierlangageobjetenseignédanslesécolesetuniversitésenraisondesarigueuretde
sarichessefonctionnelle.
LacommunautédesdéveloppeursJavareprésenteplusieursmillionsdepersonnesetestplusimportanteennombre
quelacommunautédesdéveloppeursC++(pourtantuneréférence).
- 2 - © ENI Editions - All rigths reserved
CaractéristiquesdeJava
Javaestàlafoisunlangageetuneplate
formededéveloppement.
Cettepartievousprésentecesdeuxaspects,ellevousdonneraunaperçudescaractéristiquesdeJavaetvousaidera
àévaluerl
importancedel
intérêtportéàJava.
1.LelangagedeprogrammationJava
SUNcaractériseJavaparlefaitqu
ilestsimple,orientéobjet,distribué,interprété,robuste,sécurisé,indépendantdes
architectures,portable,performant,multithreadetdynamique.
Cescaractéristiquessontissuesdulivreblancécritenmai1996parJamesGoslingetHenryMcGiltonetdisponibleà
l
adressesuivante:http://java.sun.com/docs/white/langenv
Nousallonsdétaillerchacunedecescaractéristiques:
a.Simple
LasyntaxedeJavaestsimilaireàcelledulangageCetC++,maiselleometdescaractéristiquessémantiquesqui
rendentCetC++complexes,confusetnonsécurisés:
EnJava,ilyaseulementtroistypesprimitifs:lesnumériques(entiersetréels),letypecaractèreetletype
booléen.Lesnumériquessonttoussignés.
En Java, les tableaux et les chaînes de caractères sont des objets, ce qui en facilite la création et la
manipulation.
EnJava,leprogrammeurn
apasàs
occuperdelagestiondelamémoire.Unsystèmenomméle"ramasse
miettes"(
garbagecollector
),s
occuped
allouerlamémoirenécessairelorsdelacréationdesobjetsetdela
libérerlorsquelesobjetsnesontplusréférencésdanslecontextecourantduprogramme(quandaucune
variablen
yfaitréférence).
EnJava,pasdepréprocesseuretpasdefichierd
en
tête.LesinstructionsdefineduCsontremplacéespas
desconstantesenJavaetlesinstructionstypedefduCsontremplacéespardesclassesenJava.
EnCetC++,ondéfinitdesstructuresetdesunionspourreprésenterdestypesdedonnéescomplexes.En
Java,oncréedesclassesavecdesvariablesd
instancepourreprésenterdestypesdedonnéescomplexes.
EnC++,uneclassepeuthériterdeplusieursautresclasses,cequipeutposerdesproblèmesd
ambiguïté.
Afind
évitercesproblèmes,Javan
autorisequel
héritagesimplemaisapporteunmécanismedesimulation
d
héritagemultipleparl
implémentationd
uneoudeplusieursinterfaces.
EnJava,iln
existepaslacélèbreinstructiongoto,toutsimplementparcequ
elleapporteunecomplexitéàla
lecturedesprogrammesetquebiensouvent,onpeutsepasserdecetteinstructionenécrivantducodeplus
propre.Deplus,enCetC++,legotoestgénéralementutilisépoursortirdebouclesimbriquées.EnJava,
nous utiliserons les instructions
break
 et
continue
 qui permettent de sortir d
un ou plusieurs niveaux
d
imbrication.
En Java, il n
est pas possible de surcharger les opérateurs, tout simplement pour éviter des problèmes
d
incompréhension du programme. On préférera créer des classes avec des méthodes et des variables
d
instance.
Etpourfinir,enJava,iln
yapasdepointeursmaisplutôtdesréférencessurdesobjetsoudescasesd
un
tableau (référencées par leur indice), tout simplement parce qu
il s
est avéré que la manipulation des
pointeursestunegrossesourcedebugsdanslesprogrammesCetC++.
b.Orientéobjet
Misàpartlestypesdedonnéesprimitifs,toutestobjetenJava.Etdeplus,sibesoinest,ilestpossibled
encapsuler
lestypesprimitifsdansdesobjets,desclassespréfabriquéessontdéjàprévuesàceteffet.
- 1 -© ENI Editions - All rigths reserved
1 / 223 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !