Généralités sur le langage Java

publicité
2ISA – POO
0-Generalites_sur_le_langage_Java.doc
Généralités sur le langage Java
Les caractéristiques du langage ................................................................................................................. 1
Rapide historique ...................................................................................................................................... 2
Compilation et Exécution ......................................................................................................................... 2
Environnement de Développement Intégré ............................................................................................... 3
Différences Java et Javascript ................................................................................................................... 3
Les caractéristiques du langage
Java est un langage de programmation évolué, orienté objet dont la syntaxe est proche du C++.
Il existe plusieurs types de programmes en Java :
· Les applications : une application autonome est une application qui s'exécute sous le contrôle
direct du système d'exploitation, les applications ont un bloc main().
· Les applets : Une applet est une application embarquée dans une page HTML, chargée par un
navigateur et exécutée sous le contrôle de celui-ci.
· Les servlets ou les JSP sont des applications java s'exécutant du coté serveur web, ces
technologies permettent d'écrire des pages web dynamiques.
Le source est compilé en pseudo-code ou byte-code puis exécuté par un
interpréteur JAVA : la Java Virtual Machine (JVM).
Ce concept est la base du slogan de Sun pour Java : Write Once, Run
Java est interprété
AnyWhere.
En effet, le byte code peut être exécuté et donner les mêmes résultats sur
toutes les machines dotées d'une JVM.
Il n'y a pas de compilation spécifique pour chaque plate-forme.
Java est indépendant de
Le code est indépendant de la plate-forme sur laquelle il s'exécute.
toute plate-forme
Le code peut s'exécuter sur toute machine disposant d'une machine virtuelle.
Chaque fichier source contient la définition d'une ou plusieurs classes qui sont
utilisées ensemble pour former une application.
Java n'est pas orienté objet "pur" car il contient des types primitifs qui ne sont
Java est Orienté Objet
pas des objets (entier, booléen, flottant, caractère).
Java implémente les concepts objets d'encapsulation, d'héritage, de
polymorphisme.
Toutes les variables sont typées. Il n'existe pas de conversion automatique qui
Java est fortement typé pourrait engendrer une perte de données.
Les conversions sont à la charge du développeur (casting).
Java n'utilise pas des notions complexes telles que les pointeurs (comme en
Java est "simple"
C++).
Java ne permet pas l'héritage multiple.
Java alloue automatiquement de la mémoire aux objets créés et récupère la
Java assure la gestion
mémoire inutilisée grâce au garbage collector (ramasse-miettes) qui restitue
de la mémoire
les zones de mémoire laissées libre suite à la destruction des objets.
La sécurité fait partie intégrante du système d'exploitation et du compilateur.
Java est sur
Les applets ne peuvent pas ouvrir, lire, écrire ou effacer des fichiers sur la
machine de l'utilisateur.
Le byte code a une taille relativement petite car les bibliothèques de classes ne
Java est économe
sont liées qu'à l'exécution.
Java est multitâche
Java permet l'utilisation de threads qui sont des unités d'exécution isolées.
le 01/11/2005 5:21
Page 1 sur 3
2ISA – POO
0-Generalites_sur_le_langage_Java.doc
Rapide historique
Java est une marque déposée de Sun MicroSystems.
Sun fournit gratuitement un ensemble d'outils et d'API pour développer en Java : le JSDK (Java2
Software Developement Kit).
Principales versions :
· 1996
· 1998
· 2000
· 2002
· 2004
JDK 1.0
JDK 1.2 (dite Java 2)
JDK 1.3
JDK 1.4 (135 packages/3000 classes)
JDK 1.5 (dite Java 5)
Sun propose 3 éditions:
· J2SE : Java2 Standard Edition comprenant les bibliothèques de bases pour développer des
applications destinées à un poste client.
· J2EE : Java2 Entreprise Edition destinée aux développements des applications d'entreprises
(serveurs).
· J2ME : Java2 Micro Edition destinée aux systèmes mobiles.
Compilation et Exécution
N'importe quel éditeur de source peut être utilisé pour coder en Java
Le code source doit être compilé en byte code qui sera ensuite exécuté ou interprété par la machine
virtuelle.
Le code est indépendant du système d'exploitation sur laquelle
il s'exécute.
Le code peut s'exécuter sur toute machine disposant d'une
machine virtuelle.
le 01/11/2005 5:21
Page 2 sur 3
2ISA – POO
0-Generalites_sur_le_langage_Java.doc
Environnement de Développement Intégré
Pour avoir plus de confort, il est préférable d'utiliser un Environnement de Développement Intégré
(EDI/IDE) tel que Eclipse, JBuilder (Borland), NetBeans (Sun), JDeveloper (Oracle)…
Eclipse est EDI open-source, extensible, polyvalent permettant potentiellement de développer des projets
mettant en œuvre n'importe quel langage de programmation. Le projet Eclipse a été lancé par IBM. La
première version d'Eclipse a été diffusée en 2001. Le développement d'Eclipse est désormais entièrement
géré par eclipse.org (organisation à but non lucratif). D'après eclipse.org, Eclipse est une plateforme pour
"toutes sortes de choses et rien en particulier". Son architecture est développée autour de la notion de
plug-in. Parmi les langages supportés par Eclipse : C, C++, PHP, Javascript, HTML, XML, Pascal, SQL
…. Le fait qu'on puisse se servir d'Eclipse pour développer en Java, n'est qu'une utilisation particulière. A
noter, Eclipse est écrit en Java
Différences Java et Javascript
Il ne faut pas confondre les langages Java et JavaScript. La syntaxe des 2 langages est proche car
elles dérivent toutes les 2 du C++. Ces 2 langages peuvent cohabiter dans des pages Web. Le
tableau suivant permettra de s'y retrouver :
Auteur
Compilation
Stockage
Utilisation
Exécution
POO
Typage
Complexité
Java
JavaScript
Sun MicroSystems
Netscape Communications
Compilé sous forme de byte-code
Interprété
Applet téléchargée comme élément d'une Source inséré dans la page Web
page
Permet de développer tous types Rend les pages Web plus "dynamiques"
d'applications
Exécuté par la JVM du navigateur
Exécuté par le navigateur
Orienté Objet
Utilise des objets mais ne permet pas d'en
créer
Fortement typé
Pas de contrôle de type
Code relativement complexe
Code simple
le 01/11/2005 5:21
Page 3 sur 3
Téléchargement