2. Présentations
Votre formateur
Objet Direct
Conseil architecture du SI Pilotage de l’entreprise
Optimisation et
Applications métiers intégration des processus Optimisation de la
spécifiques performance
Web et
Objet ERP BI
2
4. Présentations
Quelles sont vos attentes ?
Quel est votre rôle au sein d’une équipe projet ?
4
5. Introduction
• Découvrir que Java est un langage, mais aussi une
plateforme
• Comprendre le principe et l’intérêt d’une machine virtuelle
• Connaître l’histoire de Java et son utilisation actuelle
6. Java est un langage
Java est conçu pour être un langage
● Simple, orienté objet et familier
• Pas besoin de connaissances poussées, utilisation de librairies de haut niveau
• Les utilisateurs de C++ ne sont pas désorientés
● Robuste et sûr
• Vérification à la compilation et à l’exécution
• Gestion de la mémoire simple (pas d’arithmétique sur les pointeurs)
• Présence du ramasse-miettes (Garbage Collector)
● Indépendant de la machine employée pour l’exécution
• Bytecode Java interprété sur une JVM
● Très performant
● Multi-thread
6 Introduction à Java
7. La JVM : principe de la machine virtuelle
Mon application Mon application
API API
JVM JVM
Code natif Code natif
OS : Windows OS : Linux
Les programmes Java sont compilés en bytecode Java
La JVM peut interpréter le bytecode ou le compiler à la volée
(JIT: Just In Time)
Plusieurs éditeurs implémentent la machine virtuelle (Oracle,
Apple, IBM, Google, …)
7 Introduction à Java
8. Java est une plateforme
Java est aussi une plateforme
● Java SE (Standard Edition)
• Contient les API de base, les API pour le poste client et les API d’usage général
● Java ME (Micro Edition)
• Spécialisé pour les applications mobiles
● Java EE (Enterprise Edition)
• Spécification d’extensions à Java SE à destination des serveurs d’application
• Garantit une architecture standardisée
• Java EE est une norme, pas un produit
La plateforme n’est pas uniquement à destination de Java
● Elle est utilisée par des langages récents (Groovy, Clojure, JRuby, Scala,
Jython…)
● Mais aussi par des langages plus anciens :
• JavaScript : Rhino
• PHP: Quercus
8 Introduction à Java
9. WORA (Write Once, Run Anywhere)
Développement sur n’importe quel environnement
● Généralement un ordinateur sous Windows, Linux ou Mac
Compilation dans un bytecode standard
Code byte
011001…
source Compilateur code JVM
Exécution sur n’importe quelle environnement équipé d’une JVM
● PC, téléphone, routeur, …
Java équipe plus de 4,5 milliards de périphériques
● Plus de 800 millions de PC
● 2,1 milliards de téléphones portables et autres périphériques de poche
● 3,5 milliards de cartes à puce
● Des décodeurs, des imprimantes, des webcams, des jeux, des systèmes de navigation
automobile, des terminaux de loterie, des appareils médicaux, des bornes de paiement de
parking, …
Source : http://www.java.com/fr/about/
9 Introduction à Java
11. Objectifs
• Installer l’environnement nécessaire au développement et à
l’exécution
• Connaître l’emplacement de la documentation de référence
• Savoir compiler un programme Java et l’exécuter
12. JRE
Le JRE (Java Runtime Environment) doit être installé pour
pouvoir exécuter un programme Java
Il contient
● La JVM qui interprète le bytecode et le convertit en code natif
● Les API (bibliothèque de classes) à partir desquelles sont développées les
applications Java
Disponible sur http://www.java.com/fr/download/
JRE
API
JVM
Code natif
12 Développer et exécuter
13. JDK
Le JDK doit être installé pour pouvoir développer en Java
Il contient
● Le JRE
● javac : le compilateur permettant de générer le bytecode
● jar : l’archiveur permettant de regrouper en un seul fichier (zip) un ensemble
de classes
● javadoc : le générateur de documentation
● D’autres outils de développement
Disponible sur
http://www.oracle.com/technetwork/java/javase/downloads/index.html
13
14. Documentation
La documentation
● Javadoc oracle : http://download.oracle.com/javase/7/docs/api/index.html
● Java tutorial : http://download.oracle.com/javase/tutorial/
Bonne pratique : Documenter !
● javadoc sur ses propres classes et méthodes
● Mais aussi commentaires au sein du code
● La complétion automatique ne dispense pas de lire la javadoc
● Les IDEs permettent de consulter la javadoc directement dans l’IDE, de
manière contextuelle
14 Développer et exécuter
15. Point d’entrée
Méthode main : point d’entrée de l’application.
package com.objetdirect.exemple;
/**
* Classe de gestion des clients.
*/
public class GestionClient {
/**
* Méthode principale de l'application.
* @param args les arguments fournis via la ligne de commande.
*/
public static void main(String[] args) {
// TODO implémenter un vrai programme
System.out.println("Hello World");
}
}
15 Développer et exécuter
16. Exécuter un programme Java
Exécuter un programme
● Pour exécuter, on utilise java
• Rappel : seules les classes contenant une méthode main peuvent être exécutées
● La classe doit être dans le classpath
• Tout comme pour javac, il peut être redéfini via l’option –cp
Exemple
● java –cp ./lib/log4j-1.2.16.jar;./build com.objetdirect.exemple.GestionClient
16 Développer et exécuter