p. 2
java 6 les fondamentaux du langage java thierry groussard résumé ce livre s adresse à tout informaticien désirant développer sous java que le lecteur soit débutant ou qu il 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 d enrichir facilement le contenu de pages web le développement d applications 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 d une application le dernier chapitre présente la distribution d une application avec la solution classique des fichiers d archives ou l utilisation plus souple de la technologie java web start le livre ne nécessite pas d outils de développement spécifiques un éditeur de texte et les outils disponibles gratuitement sur le site de sun sont suffisants pour mener à bien l apprentissage de ce langage passionnant et en plein essor les exemples cités dans l ouvrage sont en téléchargement sur cette page 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 ce livre numérique a été conçu et est diffusé dans le respect des droits d auteur toutes les marques citées ont été déposées par leur éditeur respectif la loi du 11 mars 1957 n autorisant aux termes des alinéas 2 et 3 de l article 41 d une part que les copies ou reproductions strictement réservées à l usage privé du copiste et non destinées à une utilisation collective et d autre part que les analyses et les courtes citations dans un but d exemple et d illustration toute représentation ou reproduction intégrale ou partielle faite sans le consentement de l auteur ou de ses ayants droit ou ayant cause est illicite alinéa 1er de l article 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 © eni editions all rigths reserved 1-
[close]
p. 3
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 plateforme 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 plateforme 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 plateforme 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 plateforme 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 plateforme matérielle et logicielle la conception de java a apporté une réponse efficace à ces besoins q 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 platesformes 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 oe 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 qqqq 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 © eni editions all rigths reserved 1-
[close]
p. 4
les caractéristiques de java se trouvent alors également fort intéressantes pour ce type d applications en effet q 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 plateforme windows macintosh unix linux q 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 celuici 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 plateforme 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 plateforme 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 plateforme 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
[close]
p. 5
caractéristiques de java java est à la fois un langage et une plateforme 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 q 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 entê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 qqqqqqqqb 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 © eni editions all rigths reserved 1-
[close]
p. 6
java est donc un langage de programmation orienté objet conçu sur le modèle d autres langages c eiffel smalltalk objective c cedar/mesa ada perl mais sans leurs défauts les avantages de la programmation objet sont une meilleure maîtrise de la complexité diviser un problème complexe en une suite de petits problèmes un réemploi plus facile une meilleure facilité de correction et d évolution java est fourni de base avec un ensemble de classes qui permettent de créer et manipuler toutes sortes d objets interface graphique accès au réseau gestion des entrées/sorties c distribué java implémente les protocoles réseau standards ce qui permet de développer des applications client/serveur en architecture distribuée afin d invoquer des traitements et/ou de récupérer des données sur des machines distantes pour cela java fournit de base deux apis permettant de créer des applications client/serveur distribuées q rmi remote method invocation qui permet de faire communiquer des objets java s exécutant sur différentes machines virtuelles java et même sur différentes machines physiques corba common object request broker architecture basé sur le travail de l omg http www.omg.org qui permet de faire communiquer des objets java c lisp python smalltalk cobol ada s exécutant sur différentes machines physiques q d interprété un programme java n est pas exécuté il est interprété par la machine virtuelle ou jvm java virtual machine ce qui le rend un peu plus lent mais cela apporte des avantages notamment celui de ne pas être obligé de recompiler un programme java d un système à un autre car il suffit pour chacun des systèmes de posséder sa propre machine virtuelle java du fait que java est un langage interprété vous n avez pas à faire l édition des liens obligatoire en c avant d exécuter un programme en java il n y a donc que deux étapes la compilation puis l exécution l opération d édition des liens est réalisée par la machine virtuelle au moment de l exécution du programme e robuste java est un langage fortement typé et très strict par exemple la déclaration des variables doit obligatoirement être explicite en java le code est vérifié syntaxe types à la compilation et également au moment de l exécution ce qui permet de réduire les bugs et les problèmes d incompatibilité de versions de plus la gestion des pointeurs est entièrement prise en charge par java et le programmeur n a aucun moyen d y accéder ce qui évite des écrasements inopportuns de données en mémoire et la manipulation de données corrompues f sécurisé vu les domaines d application de java il est très important qu il y ait un mécanisme qui veille à la sécurité des applications et des systèmes c est le moteur d exécution de java jre qui s occupe entre autres de cette tâche le jre s appuie notamment sur le fichier texte java.policy qui contient des informations sur le paramétrage de la sécurité en java c est le jre qui gère la planification mémoire des objets et non le compilateur comme c est le cas en c comme en java il n y a pas de pointeurs mais des références sur des objets le code compilé contient des identifiants sur les objets qui sont ensuite traduits en adresses mémoire par le jre cette partie étant complètement opaque pour les développeurs au moment de l exécution d un programme java le jre utilise un processus nommé le classloader qui s occupe du chargement du byte code ou langage binaire intermédiaire contenu dans les classes java le byte code est ensuite analysé afin de contrôler qu il n a pas fait de création ou de manipulation de pointeurs en mémoire et également qu il n y a pas de violation d accès comme java est un langage distribué les principaux protocoles d accès au réseau sont implémentés ftp http telnet le jre peut donc être paramétré afin de contrôler l accès au réseau de vos applications 2 © eni editions all rigths reserved
[close]
p. 7
q interdire tous les accès autoriser l accès seulement à la machine hôte d où provient le code de l application c est le cas par défaut pour les applets java autoriser l accès à des machines sur le réseau externe audelà du firewall dans le cas où le code de l application provient également d un hôte sur le réseau externe autoriser tous les accès c est le cas par défaut pour les applications de type client lourd qqqg indépendant des architectures le compilateur java ne produit pas du code spécifique pour un type d architecture en fait le compilateur produit du bytecode langage binaire intermédiaire qui est indépendant de toute architecture matérielle de tout système d exploitation et de tout dispositif de gestion de l interface utilisateur graphique gui l avantage de ce bytecode est qu il peut facilement être interprété ou transformé dynamiquement en code natif pour des besoins de performance il suffit de disposer de la machine virtuelle dédiée à sa plateforme pour faire fonctionner un programme java c est elle qui s occupe de traduire le bytecode en code natif h portable ce qui fait tout d abord que java est portable c est qu il s agit d un langage interprété de plus contrairement au langage c et c les types de données primaires numériques caractère et booléen de java ont la même taille quelle que soit la plateforme sur laquelle le code s exécute les bibliothèques de classes standards de java facilitent l écriture du code qui peut ensuite être déployé sur différentes platesformes sans adaptation i performant même si un programme java est interprété ce qui est plus lent qu un programme natif java met en oe uvre un processus d optimisation de l interprétation du code appelé jit just in time ou hot spot qui permet de compiler à la volée le bytecode java en code natif ce qui permet d atteindre les mêmes performances qu un programme écrit en langage c ou c j multitâche java permet de développer des applications mettant en oe uvre l exécution simultanée de plusieurs threads ou processus légers ceci permet d effectuer plusieurs traitements simultanément afin d accroître la rapidité des applications soit en partageant le temps cpu soit en partageant les traitements entre plusieurs processeurs k dynamique en java nous l avons dit le programmeur n a pas à faire l édition des liens obligatoire en c et c il est donc possible de modifier une ou plusieurs classes sans avoir à effectuer une mise à jour de ces modifications pour l ensemble du programme la vérification de l existence des classes se fait au moment de la compilation et l appel du code de ces classes ne se fait qu au moment de l exécution du programme ce procédé permet de disposer d applications allégées en taille mémoire 2 la plateforme java par définition une plateforme est un environnement matériel ou logiciel sur lequel peut s exécuter un programme la plupart des platesformes actuelles sont la combinaison d une machine et d un système d exploitation ex pc windows la plateforme java diffère par le fait qu elle ne se compose que d une partie logicielle qui s exécute sur de nombreuses platesformes matérielles et différents systèmes d exploitation le schéma suivant est issu du site web de sun sur le langage java et présente les différents composants de la plate © eni editions all rigths reserved 3-
[close]
p. 8
forme java comme le montre le schéma elle est composée des éléments suivants q la machine virtuelle java jvm l interface de programmation d application java api java qui est décomposée en trois catégories apis de bases apis d accès aux données et d intégration avec l existant apis de gestion de l interface avec l utilisateur les outils de déploiement des applications les outils d aide au développement q q q voyons en détail ces différents éléments a la machine virtuelle java jvm la machine virtuelle est la base de la plateforme java elle est nécessaire pour l exécution des programmes java la jvm est disponible pour de nombreux types d ordinateurs et systèmes d exploitation la machine virtuelle java s occupe q du chargement des classes et du bytecode qu elles contiennent quand un programme invoque la création d objets ou invoque des membres d une classe c est la jvm qui s occupe du chargement du bytecode qui doit être interprété de la gestion de la mémoire la jvm s occupe entièrement de la gestion des pointeurs et donc de chaque référence faite à un objet ce procédé permet également à la jvm de s occuper de la libération automatique de la mémoire ramassemiettes dès qu un objet n est plus référencé dans le programme c estàdire quand aucune variable n y fait référence de la sécurité c est l une des opérations les plus complexes effectuées par la jvm au chargement du programme elle vérifie qu il n est pas fait appel à de la mémoire non initialisée que des conversions de types illégales ne sont pas effectuées que le programme ne manipule pas des pointeurs en mémoire dans le cas d applets java la jvm interdit au programme l accès aux périphériques de la machine sur laquelle l applet s exécute et autorise l accès au réseau uniquement vers l hôte qui diffuse l applet de l interfaçage avec du code natif par exemple code écrit en langage c la plupart des apis de base de java font appel à du code natif qui est fourni avec le jre afin d interagir avec le système hôte vous pouvez également utiliser ce procédé pour des accès à des périphériques ou à des fonctionnalités qui ne sont pas implémentés directement ou voir pas du tout en java q q q le fait que java soit interprété apporte des avantages et des inconvénients depuis toujours on reproche à java d être moins performant que des langages natifs ce qui était surtout le cas pour les applications avec interface utilisateur graphique afin de combler cette lacune et de perdre cette mauvaise image injustifiée les développeurs de chez sun ont énormément travaillé sur l optimisation de la jvm avec la version 1.2 on avait un compilateur jit just in time qui permettait d optimiser l interprétation du bytecode en modifiant sa structure pour le rapprocher du code natif depuis la version 1.3 la jvm intègre un processus nommé 4© eni editions all rigths reserved
[close]
p. 9
hotspot client et serveur qui optimise davantage l interprétation du code et d une manière générale les performances de la jvm hotspot apporte un gain de performance allant de 30 à 40 selon le type d application on le remarque énormément au niveau des interfaces graphiques la dernière version la version 6 a encore optimisé le java hotspot b l api java l api java contient une collection de composants logiciels préfabriqués qui fournissent un grand nombre de fonctionnalités l api java dans sa version 6 est organisée en plus de 200 packages l équivalent des librairies en langage c chaque package contient les classes et interfaces préfabriquées et directement réutilisables vous avez donc à votre disposition environ 3800 classes et interfaces la plateforme java fournit des apis de base de nombreuses extensions peuvent être ajoutées et sont disponibles sur le site java de sun gestion des images en 3d des ports de communication de l ordinateur de la téléphonie des courriers électroniques l api java peut être décomposée en trois catégories les apis de base les apis de base permettent de gérer q les éléments essentiels comme les objets les chaînes de caractères les nombres les entrées/sorties les structures et collections de données les propriétés système la date et l heure et plus encore les applets java dans l environnement du navigateur web le réseau avec les protocoles standards tels que ftp http udp tcp/ip plus les urls et la manipulation des sockets l internationalisation et l adaptation des programmes java en externalisant les chaînes de caractères contenues dans le code dans des fichiers de propriétés properties ce procédé permet d adapter le fonctionnement des applications par rapport à des paramètres changeants nom serveur nom d utilisateur mot de passe et d adapter la langue utilisée dans les interfaces graphiques par rapport aux paramètres régionaux de la machine l interfaçage avec du code natif en permettant de déclarer que l implémentation d une méthode est faite au sein d une fonction d une dll par exemple la sécurité en permettant qqqqqq de crypter/décrypter les données jce java cryptography extension de mettre en oe uvre une communication sécurisée via ssl et tls jsse java secure socket extension d authentifier et de gérer les autorisations des utilisateurs dans les applications jaas java authentication and autorization service d échanger des messages en toute sécurité entre des applications communiquant via un service comme kerberos gssapi generic security service application program interface de créer et valider des listes de certificats nommées certification paths java certification path api qqqqq la création de composants logiciels du nom de javabeans réutilisables et capables de communiquer avec d autres architectures de composants tels que activex opendoc liveconnect la manipulation de données xml extensible markup language à l aide des apis dom document object model et sax simple api for xml les apis de base permettent aussi d appliquer des transformations xslt extensible style sheet transformation à partir de feuilles de styles xsl sur des données xml la génération de fichiers de journalisation logs permettant d avoir un compte rendu du fonctionnement des © eni editions all rigths reserved 5 q q
[close]
p. 10
applications activité erreurs bugs q la manipulation de chaînes de caractères avec des expressions régulières les erreurs système et applicative avec le mécanisme des exceptions chaînées les préférences utilisateur ou système en permettant aux applications de stocker et récupérer des données de configuration dans différents formats q q les apis d accès aux données et d intégration avec l existant les apis d intégration permettent de gérer q des applications client/serveur dans une architecture distribuée en permettant la communication en local ou par le réseau entre des objets java fonctionnant dans des contextes de jvm différents grâce à l api rmi remote method invocation des applications client/serveur dans une architecture distribuée en permettant la communication en local ou par le réseau entre des objets java et des objets compatibles corba tels que c lisp python smalltalk cobol ada grâce au support de l api corba common object request broker architecture basé sur le travail de l omg http www.omg.org l accès à pratiquement 100 des bases de données via l api jdbc java database connectivity l accès aux données stockées dans des services d annuaire au protocole ldap lightweight directory access protocol comme par exemple l active directory de windows 2000 via l api jndi java naming and directory interface q q q les apis de gestion de l interface des applications avec l utilisateur les apis de gestion de l interface utilisateur permettent de gérer q la conception des interfaces graphiques avec l api awt abstract window toolkit d ancienne génération ou l api swing de nouvelle génération le son avec la manipulation la lecture et la création de fichiers son de différents formats wav ou .midi la saisie de données textuelles par d autres moyens que le clavier comme par exemple des mécanismes de reconnaissance vocale ou de reconnaissance d écriture avec l api input method framework les opérations graphiques de dessin avec l api java 2d et de manipulation d images avec l api java image i/o l accessibilité des applications aux personnes handicapées avec l api java accessibility qui permet de s interfacer par exemple avec des systèmes de reconnaissance vocale ou des terminaux en braille le déplacement ou transfert de données lors d une opération glisser/déposer drag and drop des travaux d impression de données sur tout périphérique d impression qqqqqqc les outils de déploiement des applications la plateforme java fournit deux outils permettant d aider au déploiement des applications q java web start destiné à simplifier le déploiement et l installation des applications java autonomes les applications sont disponibles sur un serveur les utilisateurs peuvent en lancer l installation sur leur machine via la console java web start et tout se fait alors automatiquement ce qui est intéressant c est qu ensuite à chaque lancement d une application java web start vérifie si une mise à jour est disponible sur le serveur et procède automatiquement à son installation 6 © eni editions all rigths reserved
[close]
p. 11
q java plugin destiné à permettre le fonctionnement des applets java avec la machine virtuelle 6 en effet lorsque vous accédez via votre navigateur web à une page html qui contient une applet c est la machine virtuelle du navigateur qui est chargée de la faire fonctionner le problème c est que les machines virtuelles des navigateurs supportent d anciennes versions de java afin de ne pas être limité au niveau des fonctionnalités et donc de ne pas rencontrer des problèmes d incompatibilité entre les navigateurs vous pouvez installer le java plugin sur les postes clients le java plugin consiste à installer un moteur d exécution java 6 le jre étant composé d une jvm et de l ensemble des apis et à faire en sorte que les navigateurs web utilisent cette jre et non la leur d les outils d aide au développement la plupart des outils d aide au développement sont contenus dans le répertoire bin sous le répertoire racine de l installation du j2se les principaux outils d aide au développement permettent de q compiler javac.exe vos codes source .java en fichier .class de générer la documentation javadoc.exe automatique de vos codes source nom de classe package hiérarchie d héritage liste des variables et méthodes avec le même style de présentation que la documentation officielle des apis standards fournies par sun de lancer l exécution java.exe des applications autonomes java de visualiser à l aide d une visionneuse appletviewer.exe l exécution d une applet java dans une page html deux autres technologies sont également intéressantes elles sont destinées à des outils de développement tiers afin qu ils puissent les intégrer jpda java platform debugger architecture qui permet d intégrer un outil de déboguage au sein de son ide de développement apportant des fonctionnalités telles que les points d arrêts le pas à pas l inspection des variables et expressions jvmpi java virtual machine profiler interface qui permet d effectuer des analyses et de générer des états sur le fonctionnement des applications mémoire utilisée objets créés nombre et fréquence d invocation des méthodes temps de traitement afin d observer le bon fonctionnement des applications et de repérer où sont les goulets d étranglement qqqqqq 3 cycle de conception d un programme java pour développer une application java il faut d abord se procurer la plateforme j2se de développement sdk software development kit dédiée à sa machine et à son système d exploitation dont vous trouverez la liste sur le site java de sun http java.sun.com/javase/downloads/index.jsp ensuite vous pouvez utiliser les apis standards de java pour écrire vos codes sources en java la structure de base d un programme est la classe et chaque classe doit être contenue dans un fichier portant l extension java plusieurs classes peuvent être contenues dans un même fichier .java mais une seule de ces classes peut être déclarée publique et c est le nom de cette classe déclarée publique qui donne son nom au fichier .java au cours du développement vous pouvez procéder à la phase de compilation en utilisant l outil javac.exe vous obtenez comme résultat au moins un fichier portant le même nom mais avec l extension .class le fichier .class compilé reste tout de même indépendant de toute plateforme ou système d exploitation ensuite c est l interpréteur java.exe qui exécute les programmes java pour l exécution des applets l interpréteur est incorporé au navigateur internet compatible java hotjava netscape navigator internet explorer pour l exécution d applications java autonomes il est nécessaire de lancer l exécution de la machine virtuelle fournie soit avec la plateforme de développement java sdk soit avec le kit de déploiement d applications java jre java runtime environment © eni editions all rigths reserved 7-
[close]
p. 12
installation du sdk version win32 pour l environnement windows 1 téléchargement dans un premier temps il vous faut télécharger la dernière version du sdk pour l environnement windows win32 à partir du site web de javasoft http java.sun.com/j2se/downloads.html actuellement le fichier à télécharger se nomme jdk6u11windowsi586.exe et fait 75 mo dans tous les cas téléchargez toujours la dernière version disponible puisque vous êtes sur le site web javasoft profitezen pour télécharger un autre élément qui s avère indispensable pour programmer en java la documentation des apis standards actuellement le fichier à télécharger se nomme jdk6u10docs.zip et fait 58 mo pour pouvoir le décompresser sur votre machine il vous faut 265 mo d espace disque disponible cela fait beaucoup de lecture 2 installation avant d installer le sdk sur votre ordinateur assurezvous qu il n y a aucun autre outil de développement java d installé ceci afin d éviter les problèmes de conflits de configuration s pour commencer l installation double cliquez sur le fichier d installation précédemment téléchargé jdk6u11 windowsi586.exe tout d abord une boîte de message welcome apparaît vous indiquant que vous êtes sur le point d installer le sdk et vous demande si vous voulez poursuivre l installation s cliquez sur next la boîte de message qui suit software license agreement vous présente la licence d utilisation du sdk s cliquez sur accept une nouvelle fenêtre apparaît custom setup qui vous permet de sélectionner les éléments du sdk à installer et le répertoire de destination de l installation © eni editions all rigths reserved 1-
[close]
p. 13
s après avoir fait vos choix ou avoir laissé la sélection par défaut cliquez sur next le programme installe alors les fichiers sur votre ordinateur après quelques instants la boîte de dialogue suivante vous informe sur le succès de l installation 3 configuration il reste à configurer le système en indiquant dans quel répertoire sont stockés les outils tels que java.exe machine virtuelle appletviewer.exe visionneuse d applets ou encore javac.exe compilateur pour ce faire il faut modifier la variable d environnement path pour ajouter le chemin d accès vers le répertoire bin du jdk si vous avez conservé les options par défaut lors de l installation ce chemin doit être c program files java jdk1.6.0_11 bin 4 test de la configuration du sdk vous allez tester si l ordinateur a bien pris en compte les modifications que vous venez d apporter à la variable path et donc vérifier s il trouve le chemin où sont situés les outils du sdk pour tester la configuration du sdk utilisez une fenêtre invite de commandes s À l invite de commande saisissez la commande suivante qui va permettre de déterminer si l installation du sdk est correcte ou non java -version vous devez voir le message suivant apparaître en réponse à la ligne que vous avez saisie 2 © eni editions all rigths reserved
[close]
p. 14
cette commande affiche des informations concernant la version de la machine virtuelle java si vous obtenez un message du style java n est pas reconnu en tant que commande interne ou externe un programme exécutable ou un fichier de commandes cela signifie que le répertoire où sont stockés les outils du sdk n a pas été trouvé par votre système dans ce cas vérifiez si la variable path contient bien les modifications que vous avez apportées et que vous n avez pas fait d erreur de syntaxe en spécifiant le chemin du répertoire bin 5 installation de la documentation du sdk et des apis standards À l aide d un utilitaire tel que winzip ouvrez le fichier jdk6u10doc.zip que vous avez précédemment téléchargé extrayez tous les fichiers qu il contient vers la racine d installation du sdk c estàdire par défaut sous c program files java jdk1.6.0_11 ii faut prévoir 270 mo d espace disque disponible pour installer la documentation une fois tous les fichiers extraits fermez l utilitaire sous l explorateur windows dans le répertoire c program files java jdk1.6.0_11 vous devez avoir un nouveau répertoire docs c est le répertoire qui contient l ensemble de la documentation du sdk au format html dans ce répertoire docs double cliquez sur le fichier lndex.html ce fichier contient des liens hypertextes vers l ensemble de la documentation java qui est soit installée sur votre ordinateur soit accessible sur un site web le plus important de la documentation se trouve dans le sousrépertoire api en double cliquant sur le fichier lndex.html ce fichier contient les spécifications de l api java ou plus précisément la description de l ensemble des classes de la librairie java sans cette documentation vous ne pourrez pas développer en java il est recommandé de placer sur votre bureau un raccourci vers ce document © eni editions all rigths reserved 3-
[close]
p. 15
cette page est organisée en trois fenêtres q la fenêtre en haut à gauche contient la liste des packages plus de 200 la fenêtre en bas à gauche contient la liste des classes contenues dans le package sélectionné dans la fenêtre précédente la plus grande fenêtre contient la description d une interface ou d une classe sélectionnée dans la fenêtre précédente la description d une classe est organisée de la manière suivante q q q un schéma de la hiérarchie des superclasses de l interface ou de la classe en cours une explication sur l utilisation de la classe ou de l interface field summary liste des attributs constructor summary liste des constructeurs de la classe method summary liste des méthodes field details description détaillée des attributs constructor details description détaillée des constructeurs de la classe method details description détaillée des méthodes de la classe qqqqqqq 4 © eni editions all rigths reserved
[close]