JAVA




©Objet Direct 2011
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
Notre Environnement




3
Présentations

     Quelles sont vos attentes ?
     Quel est votre rôle au sein d’une équipe projet ?




4
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
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
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
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
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
Développer et exécuter
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
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
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
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
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
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

Objet Direct Formation Java pour devenir autonome

  • 1.
  • 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
  • 3.
  • 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 unlangage  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 uneplateforme  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
  • 10.
  • 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 programmeJava  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