EBook Java résumé du langage complet
…
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
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.
La conception de Java a apporté une réponse efficace à ces besoins :
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.
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.
Les caractéristiques de Java se trouvent alors également fort intéressa
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é
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
...
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’
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.
Java est un langage fortement typé et trè
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.
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é.
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émoi
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, Teln
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 gr
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 l
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 plate-forme 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 plates-formes sans
Même si un programme Java est interprété, ce qui est plus lent qu’un programme natif, Java met en œ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++.
Java permet de développer des applications mettant en œ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.
Par définition, une plate-forme est un environnement matériel ou logiciel sur lequel peut s’exécuter un programme. La plupart des plates-formes actuelles sont la combinaison d’une machine et d’un système d’exploitation (ex : PC + Windows).
La plate-forme Java diffère par le fait qu’elle ne se compose que d’une partie logicielle qui s’exécute sur de nombreuses plates-formes 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 forme Java :
Comme le montre le schéma, elle est composée des éléments suivants :
bases, APIs d’accès aux données et d’intégration avec l’existant, APIs de gestion de l’interface avec l’utilisateur),
La machine virtuelle est la base de la
La machine virtuelle Java s’occupe :
Avec la version 1.2, on avait un compilateur JIT (Just In Time) qui permettait d’optimiser l’interprétation du bytecode en mod
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.
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 plate-forme 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 :
Les APIs de gestion de l’interface des applications avec l’utilisateur Les APIs de gestion de l’interface utilisateur permettent de gérer :
La plateforme Java fournit deux outils permettant d’aider au déploiement des applications :
Les principaux outils d’aide au développement permettent de :
Pour développer une application Java, il faut d’abord se procurer la plate-forme 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 .
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 plate-forme 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 plate-forme de développement Java (SDK), soit avec le kit de déploiement d’applications Java (JRE - Java Runtime Environment).
...
Avant d’installer le SDK sur votre ordinateur, assurez-vous 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.
n Pour commencer l’installation, double cliquez sur le fichier d’installation précédemment téléchargé : jdk-6u11- windows-i586.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.
n Cliquez sur Next.
La boîte de message qui suit, Software License Agreement, vous présente la licence d’utilisation du SDK.
n 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.
n 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.
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.
n À l’invite de commande, saisissez la commande suivante qui va permettre de déterminer si l’installation du SDK est correcte ou non :