Vous êtes sur la page 1sur 15

CHAPITRE 0 : LES GENERALITES SUR LE

LANGAGE JAVA

1. Historique du langage et les différentes versions


Java est un langage de programmation à usage général, évolué et orienté objet dont la syntaxe
est proche du C. Ses caractéristiques ainsi que la richesse de son écosystème et de sa
communauté lui ont permis d'être très largement utilisé pour le développement d'applications
de types très disparates. Java est notamment largement utilisé pour le développement
d'applications d'entreprises et mobiles.

Quelques chiffres et faits à propos de Java en 2011 :

• 97% des machines d'entreprises ont une JVM installée

• Java est téléchargé plus d’un milliard de fois chaque année

• Il y a plus de 9 millions de développeurs Java dans le monde

• Java est un des langages les plus utilisés dans le monde

• Tous les lecteurs de Blue-Ray utilisent Java

• Plus de 3 milliards d'appareils mobiles peuvent mettre en oeuvre Java

• Plus de 1,4 milliards de cartes à puce utilisant Java sont produites chaque année

En 2020, Java fête ses 25 ans.

1.1. Les caractéristiques

Java possède un certain nombre de caractéristiques qui ont largement contribué à son énorme
succès :

La source est compilée en pseudo code ou bytecode puis exécuté par


un interpréteur Java : la Java Virtual Machine (JVM). Ce concept est
à la base du slogan de Sun pour Java : WORA (Write Once, Run
Java est interprété Anywhere : écrire une fois, exécuter partout). En effet, le bytecode,
s'il ne contient pas de code spécifique à une plate-forme particulière
peut être exécuté et obtenir quasiment les mêmes résultats sur toutes
les machines disposant d'une JVM.

Java est portable : il Il n'y a pas de compilation spécifique pour chaque plateforme. Le
est indépendant de code reste indépendant de la machine sur laquelle il s'exécute. Il est
toute plate-forme possible d'exécuter des programmes Java sur tous les
environnements qui possèdent une Java Virtual Machine. Cette
indépendance est assurée au niveau du code source grâce à Unicode
et au niveau du bytecode.

Comme la plupart des langages récents, Java est orienté objet.


Chaque fichier source contient la définition d'une ou plusieurs
Java est orienté
classes qui sont utilisées les unes avec les autres pour former une
objet.
application. Java n'est pas complètement objet car il définit des types
primitifs (entier, caractère, flottant, booléen,).

Le choix de ses auteurs a été d'abandonner des éléments mal compris


ou mal exploités des autres langages tels que la notion de pointeurs
Java est simple
(pour éviter les incidents en manipulant directement la mémoire),
l'héritage multiple et la surcharge des opérateurs, ...

Toutes les variables sont typées et il n'existe pas de conversion


automatique qui risquerait une perte de données. Si une telle
Java est fortement
conversion doit être réalisée, le développeur doit obligatoirement
typé
utiliser un cast ou une méthode statique fournie en standard pour la
réaliser.

L’allocation de la mémoire pour un objet est automatique à sa


Java assure la
création et Java récupère automatiquement la mémoire inutilisée
gestion de la
grâce au garbage collector qui restitue les zones de mémoire laissées
mémoire
libres suite à la destruction des objets.

La sécurité fait partie intégrante du système d'exécution et du


compilateur. Un programme Java planté ne menace pas le système
d'exploitation. Il ne peut pas y avoir d'accès direct à la mémoire.
L'accès au disque dur est réglementé dans une applet.

Les applets fonctionnant sur le Web sont soumises aux restrictions


Java est sûr suivantes dans la version 1.0 de Java :

• Aucun programme ne peut ouvrir, lire, écrire ou effacer un


fichier sur le système de l'utilisateur

• Aucun programme ne peut lancer un autre programme sur le


système de l'utilisateur
• Toute fenêtre créée par le programme est clairement
identifiée comme étant une fenêtre Java, ce qui interdit par
exemple la création d'une fausse fenêtre demandant un mot
de passe

• Les programmes ne peuvent pas se connecter à d'autres sites


Web que celui dont ils proviennent.

Le pseudo code a une taille relativement petite car les bibliothèques


Java est économe
de classes requises ne sont liées qu'à l'exécution.

Il permet l'utilisation de threads qui sont des unités d'exécutions


Java est multitâche
isolées. La JVM, elle-même, utilise plusieurs threads.

Il existe 2 types de programmes avec la version standard de Java : les applets et les applications.
Une application autonome (stand alone program) est une application qui s'exécute sous le
contrôle direct du système d'exploitation. Une applet est une application qui est chargée par un
navigateur et qui est exécutée sous le contrôle d'un plug in de ce dernier.

Les principales différences entre une applet et une application sont :

• Les applets n'ont pas de méthode main () : la méthode main () est appelée par la machine
virtuelle pour exécuter une application.

• Les applets ne peuvent pas être testées avec l'interpréteur. Elles doivent être testées avec
l'applet viewer ou doivent être intégrées à une page HTML, elle-même visualisée avec
un navigateur disposant d'un plug in Java,

Remarque : l'API Applet est deprecated en Java 9.

1.2. Les logos de Java

Java a connu deux logos au cours de son histoire.


De 1996 à 2003

1.3. Un rapide historique de Java

Depuis sa première diffusion publique le 23 mai 1995, le langage et les plateformes Java ont
été marqués par de nombreux événements dont les principaux sont :

Année Evénements

1995 Mai : premier lancement commercial du JDK 1.0

Janvier : JDK 1.0.1


1996
septembre : lancement du JDC

Java Card 2.0


1997
février : JDK 1.1

Décembre : lancement de J2SE 1.2 et du JCP


1998
Personal Java 1.0

1999 Décembre : lancement J2EE 1.2


2000 Mai : J2SE 1.3

2001 J2EE 1.3

2002 Février : J2SE 1.4

2003 J2EE 1.4

2004 Septembre : J2SE 5.0

2005 Lancement du programme Java Champion

Mai : Java EE 5
2006
décembre : Java SE 6.0

2007 Duke, la mascotte de Java est sous la licence Free BSD

2008 Décembre : Java FX 1.0

Février : JavaFX 1.1


2009 juin : JavaFX 1.2
décembre : Java EE 6

Janvier : rachat de Sun Microsystems par Oracle


2010
avril : JavaFX 1.3

Juillet : Java SE 7
2011
octobre : JavaFX 2.0

2012 Août : JavaFX 2.2

2013 Juin : Java EE 7

2014 Mars : Java SE 8, JavaFX 8


2017 Septembre Java SE 9, Java EE 8

Mars : Java SE 10
2018
septembre : Java SE 11

Mars : Java SE 12
2019
septembre : Java SE 13, Jakarta EE 8

Mars : Java SE 14
2020 septembre : Java SE 15
décembre : Jakarta EE 9

Mars : Java SE 16
2021 mai : Jakarta EE 9.1
septembre : Java SE 17

2022 Mars : Java SE 18, Jakarta EE 10

1.4. Les différentes éditions et versions de Java

Sun puis Oracle ont toujours fourni gratuitement un ensemble d'outils et d'API pour permettre
le développement de programmes avec Java. Ce kit, nommé JDK, est librement téléchargeable
sur le site web d'Oracle :

https://www.oracle.com/java/technologies/

Le JRE (Java Runtime Environment) contient uniquement l'environnement d'exécution de


programmes Java. Le JDK contient lui-même le JRE. Le JRE seul doit être installé sur les
machines où des applications Java doivent être exécutées.

Depuis sa version 1.2, Java a été renommé Java 2. Les numéros de version 1.2 et 2 désignent
donc la même version. Le JDK a été renommé J2SDK (Java 2 Software Development Kit) mais
la dénomination JDK reste encore largement utilisée, à tel point que la dénomination JDK est
reprise dans la version 5.0. Le JRE a été renommé J2RE (Java 2 Runtime Environment).

Trois plate-formes d'exécution (ou éditions) Java sont définies pour des cibles distinctes selon
les besoins des applications à développer :

• Java Standard Edition (J2SE / Java SE) : environnement d'exécution et ensemble


complet d'API pour des applications de type desktop. Cette plate-forme sert de base en
tout ou partie aux autres plate-formes
• Java Enterprise Edition (J2EE / Java EE) : environnement d'exécution reposant
intégralement sur Java SE pour le développement d'applications d'entreprises

• Java Micro Edition (J2ME / Java ME) : environnement d'exécution et API pour le
développement d'applications sur appareils mobiles et embarqués dont les capacités ne
permettent pas la mise en oeuvre de Java SE

La séparation en trois plate-formes permet au développeur de mieux cibler l'environnement


d'exécution et de faire évoluer les plate-formes de façon plus indépendante.

Avec différentes éditions, les types d'applications qui peuvent être développées en Java sont
nombreux et variés :

• Applications desktop

• Applications web : servlets/JSP, portlets, applets

• Applications pour appareil mobile (MIDP) : midlets

• Applications pour appareil embarqué (CDC) : Xlets

• Applications pour carte à puce (Javacard) : applets Javacard

• Applications temps réel

Sun fournit le JDK, à partir de la version 1.2, pour les plate-formes Windows, Solaris et Linux.

La version 1.3 de Java est désignée sous le nom Java 2 version 1.3.

La version 1.5 de Java est désignée officiellement sous le nom J2SE version 5.0.

La version 1.6 de Java est désignée officiellement sous le nom Java SE version 6.

La neuvième version de Java est numéroté Java 9 en remplacement du traditionnel 1.9.

La documentation au format HTML des API de Java est fournie séparément. Malgré sa taille,
cette documentation est indispensable pour obtenir des informations complètes sur toutes les
classes fournies. Le tableau ci-dessous résume la taille des différents composants selon leur
version pour la plate-forme Windows.

JDK Oracle JRE Oracle Documentation


Version
Compressé Installé Compressé Installé Compressé Installé

1.0

1.1 8,6 Mo 12 Mo 16 Mo 83 Mo
1.2 20 Mo

1.3 30 Mo 53 Mo 7 Mo 35 Mo 21 Mo 106 Mo

1.4 47 Mo 59 Mo 40 Mo 30 Mo 144 Mo

5.0 44 Mo 14 Mo 43,5 Mo 223 Mo

6 73 Mo 15,5 Mo 56 Mo

7 140 Mo 219 Mo 42 Mo 106 Mo 263 Mo

8 151 Mo 365 Mo 46 Mo 136 Mo 90 Mo 345 Mo

9 498 Mo 214 Mo 68 Mo 393 Mo

10 399 Mo 461 Mo 100 Mo 226 Mo 66 Mo 378 Mo

11 171 Mo 278 Mo - - 50 Mo 290 Mo

12 179 Mo 307 Mo - - 49 Mo 264 Mo

13 187 Mo 304 Mo - - 48 Mo 266 Mo

14 164 Mo 50 Mo

15 179 Mo 48 Mo

16 170 Mo 49 Mo

17 173 Mo 50 Mo

18 173 Mo 50 Mo
1.4.1. Les différentes versions de Java

Chaque version de la plate-forme Java possède un numéro de version et un nom de projet.

A partir de la version 5, la plate-forme possède deux numéros de version :

• Un numéro de version interne : exemple 1.5.0

• Un numéro de version externe : exemple 5.0

A partir de la version 9, la plate-forme ne possède plus qu'un numéro correspondant au numéro


majeur.

Le nom de projet des versions majeures fait fréquemment référence à des oiseaux ou des
mammifères. Le nom de projet des versions mineures concerne des insectes.

Les versions majeures de Java SE supérieures à la version 8, n'ont plus de nom de code.

Version Nom du projet Date de diffusion

JDK 1.0 Oak Mai 1995

JDK 1.1 Février 1997

JDK 1.1.4 Sparkler Septembre 1997

JDK 1.1.5 Pumpkin Décembre 1997

JDK 1.1.6 Abigail Avril 1998

JDK 1.1.7 Brutus Septembre 1998

JDK 1.1.8 Chelsea Avril 1999

J2SE 1.2 Playground Décembre 1998

J2SE 1.2.1 Mars 1999

J2SE 1.2.2 Cricket Juillet 1999


J2SE 1.3 Kestrel Mai 2000

J2SE 1.3.1 Ladybird Mai 2001

J2SE 1.4.0 Merlin Février 2002

J2SE 1.4.1 Hopper Septembre 2002

J2SE 1.4.2 Mantis Juin 2003

J2SE 5.0 (1.5) Tiger Septembre 2004

Java SE 6.0 (1.6) Mustang Décembre 2006

Java SE 7 (1.7) Dolphin Juillet 2011

Java SE 8 Spider Mars 2014

Java SE 9 Septembre 2017

Java SE 10 Mars 2018

Java SE 11 Septembre 2018

Java SE 12 Mars 2019

Java SE 13 Septembre 2019

Java SE 14 Mars 2020

Java SE 15 Septembre 2020

Java SE 16 Mars 2021


Java SE 17 Septembre 2021

Java SE 18 Mars 2022

2. Règles d’écriture des programmes

Les conventions de nommage des entités permettent de rendre les programmes plus lisibles et
plus faciles à comprendre. Ces conventions permettent notamment de déterminer rapidement
quelle entité désigne un identifiant, une classe ou une méthode.

Entités Règles Exemple

Toujours écrits tout en minuscules


Les packages com.entreprise.projet
(norme Java 1.2)

La première lettre est en majuscule.


Si le nom est composé de plusieurs
mots, la première lettre de chaque mot
doit être en majuscule, ne pas mettre
Les classes, les de caractère underscore '_'Le MaClasse
interfaces et les nom d'une classe peut finir par Impl MonInterface
constructeurs pour la distinguer d'une interface MaClasse()
qu'elle implémente.
Les classes qui définissent des
exceptions doivent finir par
Exception.

Leur nom devrait contenir un verbe.


La première lettre est obligatoirement
une minuscule.
Si le nom est composé de plusieurs
mots, la première lettre de chaque mot
Les méthodes doit être en majuscule sans mettre de public float calculerMontant() {
caractère underscore '_'
Les méthodes pour obtenir la valeur
d'un champ doivent commencer par
get suivi du nom du champ.
Les méthodes pour mettre à jour la
valeur d'un champ doivent
commencer par set suivi du nom du
champ
Les méthodes pour créer des objets
(factory) devraient commencer par
new ou create
Les méthodes de conversion devraient
commencer par to suivi par le nom de
la classe renvoyée à la suite de la
conversion

La première lettre est obligatoirement


une minuscule et ne devrait pas être
un caractère dollar '$' ou underscore
'_' même si ceux-ci sont autorisés.
Pour les variables d'instances non
publiques, certains recommandent de
commencer par un underscore pour
éviter la confusion avec le nom d'une
variable fournie en paramètre d'une
méthode telle que le setter.
String nomPersonne;
Si le nom est composé de plusieurs
Les variables Date dateDeNaissance;
mots, la première lettre de chaque mot
int i;
doit être en majuscule, ne pas mettre
de caractère underscore '_'.

Les noms de variables composés d'un


seul caractère doivent être évités sauf
pour des variables provisoires (index
d'une boucle).
Les noms communs pour ces
variables provisoires sont i, j, k, m et
n pour les entiers et c, d et e pour les
caractères.

Toujours en majuscules, chaque mot


est séparé par un underscore '_'. Ces static final int VAL_MIN = 0;
Les constantes
variables doivent obligatoirement être static final int VAL_MAX = 9;
initialisées lors de leur déclaration.
3. Installation de l’environnement de programmation JAVA (Eclipse ou
NetBeans)
3.1. Installation JDK

Tout d’abord il faut télécharger la JDK et la JRE.

Apres installation de ses composants, il faut ajouter la JDK dans le PATH :

• Configuration de la variable d’environnement

• Désélectionner le texte sélectionner


• Aller à la fin de ce champ de texte
• Insérer un ‘’;’’
• Coller le répertoire «bin» de votre JDK (C:\Program Files\Java\jdk1.8.0_25\bin)
• Cliquez sur Ok
• Ouvrer l’invite de commande
• Entrer la commande java –version pour vérifier le bon déroulement de votre installation
3.2. Mon premier code java
• Sauvegarder sous le nom « HelloWorld.java »
• Ouvrir l’invite de commande, se déplacer dans le répertoire contenant votre classe
et saisir « javac HelloWorld.java »
• Puis « java HelloWorld »

3.3. IDE Netbeans

https://netbeans.apache.org/download/index.html

Vous aimerez peut-être aussi