1 / 32

Introduction à JAVA

Introduction à JAVA. Sylvie Billot Maître de Conférences en Informatique Laboratoire d’Informatique Fondamentale d’Orléans Université d’Orléans sylvie.billot@lifo.univ-orleans.fr. Bibliographie. Java, la synthèse - G.CLAVEL, N.MIROUZE, S. MUNEROT, E.PICHON, M.SOUKAL (InterEditions 1998)

taite
Download Presentation

Introduction à JAVA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction à JAVA Sylvie Billot Maître de Conférences en Informatique Laboratoire d’Informatique Fondamentale d’Orléans Université d’Orléans sylvie.billot@lifo.univ-orleans.fr Introduction à Java

  2. Bibliographie • Java, la synthèse - G.CLAVEL, N.MIROUZE, S. MUNEROT, E.PICHON, M.SOUKAL (InterEditions 1998) • Java par la pratique– P. NIEMEYER et J. PECK (O’Reilly 1996) • Apprendre Java et C++ en parallèle– J.B. BOICHAT (Eyrolles 2000) Introduction à Java

  3. Sur l’Internet • http://java.sun.com/docs/books/tutorial/ • www.eteks.com/coursjava/ • www.infres.enst.fr/~charon/coursJava/ • http://penserenjava.free.fr/ • http://www.club-java.com/ • http://www.commentcamarche.net/ Introduction à Java

  4. Qu'est-ce que Java ? Présentation du langage Java • Un environnement de programmation pour applications réseaux • Un langage de programmation objet (comme C++) • Une architecture de «Virtual Machine» (les applications écrites avec JAVA sont indépendantes de la machine réelle) • Un ensemble d'interfaces de programmation (Application Programming Interfaces ou API) • Un ensemble d'outils (le Java Developer’s Kit) Introduction à Java

  5. Historique Bref historique • 1991 : projet Oak (langage pour l'électronique grand public) • 1994 : Java / HotJava • août 95 : licence vendue à Netscape • Sept. 95 : JDK 1.0 b1 • Déc. 95 : Microsoft se dit intéressé • Janv. 96 : JDK 1.0.1 • Eté 96 : Java Study Group ISO/IEC JTC 1/SC22 • Fin 96 : RMI, JDBC, JavaBeans, ... • Mars 97 : JDK 1.1 • Début 98 : JDK1.2 Introduction à Java

  6. Données Procédures et Fonctions Programmation «classique» Caractéristiques - 1 En Java, tout est «classe» Caractéristiques de Java attributs méthodes messages Programmation «objet» Introduction à Java

  7. Brève «histoire» de la programmation -1- Caractéristiques de Java • Un programme = une tâche à accomplir, une tâche à résoudre • Modéliser cette tâche/ ce problème • ALGORITHME • Traduire en instructions exécutables par la nachine • PROGRAMME • Etude des «bonnes méthodes» de conception/programmation = GENIE LOGICIEL Introduction à Java

  8. Brève «histoire» de la programmation -2- Caractéristiques de Java • «Préhistoire» : la machine EST le programme, les données sont externes (cartes) • Machine de Von Neumann : séparation • contrôle (programme) • exécution (UC/UAL) • données (Mémoire) • Langage machine • Assembleur (mnémonique) • Instructions : FORTRAN, COBOL (années 50) Introduction à Java

  9. Brève «histoire» de la programmation -3- Caractéristiques de Java • Langages structurés : ALGOL, Pascal (années 60) • blocs d’instructions, procédures, fonctions • instructions standards (si, tantque, etc.) • typage strict des données • Langages modulaires : Modula, Ada (années 70) • regrouper les sous-programmes en modules • programmer par assemblages de modules • Leçon : plus d’abstraction permet plus de sûreté de programmation (programmes plus aisés à concevoir, plus faciles à lire et à maintenir, plus portables) • Mais la conception se résume toujour à «Comment faire ?»(i.e. quelle suite d’instructions utiliser?) Introduction à Java

  10. Brève «histoire» de la programmation -4- Caractéristiques de Java • Langages déclaratifs : années 60-70aller plus loin dans l’abstraction en spécifiant seulement ce qu’on veut calculer, en laissant au système le fait de savoir comment faire. La question est alors «Que faire ?» • programmation fonctionnelle (LISP) • programmation en logique (Prolog) • Dans tous ces modèles de programmation, les données restent extérieures, on se concentre sur les traitements • Alternative (sous l’influence des méthodes de conception de Bases de Données) : mettre les données au centre des préoccupations, ce sont elles qui détermine les actions. . . Introduction à Java

  11. Brève «histoire» de la programmation -5- Caractéristiques de Java • Le modèle objet : Simula (1967), Smalltalk, C++, JavaUn programme est un ensemble d’objets indépendants qui collaborent par envoi/réception de messagesLa question devient «Qui fait quoi ?» • Abstraction : la réalité est «conceptualisée» • Modularité : le programme est un ensemble d’objets, des modules cohérents et organisés • Encapsulation, polymorphisme, surcharge • Avantages : lisibilité, maintenance, réutilisabilité, composabilité, extensabilité, unification des méthodes de conception (UML) et des langages (Java) Introduction à Java

  12. Comparaison de Java et C++ Caractéristiques de Java • Quasiment la même syntaxe • Java plus simple car suppression des notions de • Pointeurs • Surcharges d’opérateurs • Héritage multiple • Libération explicite de mémoire (pas besoin de destructeurs en Java) • Particularité des chaînes et tableaux (ce sont des objets en Java) • Java moins rapide car portabilité Introduction à Java

  13. Caractéristiques - 2 Caractéristiques de Java • Java est orienté objet • simple à prendre en main, il permet de développer rapidement des applications • Langage à la fois compilé et interprété : • Java produit du byte-code indépendant de la plate forme et interprétable par une machine virtuelle : la Java Virtual Machine (JVM) Introduction à Java

  14. code source Compilateur code source byte-code Compilateur code source Interpréteur Interpréteur Traducteur code machine code machine JVM système d’exploitation système d’exploitation système d’exploitation Matériel Matériel Matériel La machine virtuelle Caractéristiques de Java + = Introduction à Java

  15. Caractéristiques - 3 Caractéristiques de Java • à la fois compilé et interprété : • un programme Java est ainsi exécutable dans n’importe quel environnement disposant d’une JVM • Pas de phase d’édition de liens (garantit la PORTABILITE) • Java est multi-thread (plusieurs tâches ensembles) • Java est distribué(applications clients-serveur) Introduction à Java

  16. io applet awt net lang File String Graphics Applet URL … Component Socket AudioClip Thread … … … … Les paquetages centraux de Java Introduction à Java

  17. Caractéristiques - 4 Caractéristiques de Java • Java est • robuste (vérification du comportement du code, traitement des exceptions) • portable (indépendant de toute architecture) • sécurisé (vérification de la légalité du code, fonctionnement du «Class Loader») • dynamique (classes chargées selon les besoins) Introduction à Java

  18. Programmer en Java Programmer en Java • Les applications S’exécutent dans le système d’exploitation à condition d’avoir installé une machine virtuelle • Les applets Petites applications destinées à fonctionner sur un navigateur. Une applet a un champ d’action plus réduit qu’une application. Introduction à Java

  19. Serveurs Web INTERNET Programme Client Programme Serveur requête Internet Document(s) Document(s) ezezrzrerttrrteztr ezrrz Documents Navigateur Introduction à Java

  20. Plan du cours 1. Introduction 2. La programmation Objet 3. Des applications Des références : Cours Java de Patrick Itey site de comment ca marche Documents Web INTERNET Introduction 1. Présentation de Java Java est un environnement de programmation pour applications réseaux, orienté objet . . . . Internet URL : http://www.univ-orleans.fr/billot/plan.html Introduction à Java

  21. page HTML INTERNET fichier plan.html : <HTML> <HEAD> <TITLE> plan </TITLE> </HEAD> <BODY> <center><b><i>Plan du cours :</i></b></center> <a href="ch1.html#Intro">1. Introduction</a> . . . </BODY> </HTML> Introduction à Java

  22. Liste des salles Le grand Ecran rue des roses L’Arc place d’Arc Le Martroi place du martroi pages dynamiques INTERNET Liste des films à l’affiche à L’Arc C’est la vie 13h30 - 15h30 - 17h30 19h50 - 22h Le journal de Bridget Jones 12h10 - 16h20 - 20h Le petit poucet 12h - 14h Introduction à Java

  23. page HTML avec applet INTERNET <HTML> <HEAD> <TITLE> liste des films dans une salle </TITLE> </HEAD> <BODY> <u>Liste des films à l’affiche</u> <applet code = "films.class" width =100 height =50> <param name = "salle" value =$Salle> Votre browser ne supporte pas les applets! </applet> </BODY> </HTML> Introduction à Java

  24. Sécurité en Java INTERNET • Visualiser les scénarios d’attaque • Concevoir un jeu de base des comportements malveillants • Concevoir une architecture de sécurité contre les comportements malveillants • Technique globale de protection : n’accepter que les applets signées et cryptées. Introduction à Java

  25. Java Development Kit http://java.sun.com/products ou http://www.javasoft.com La Plate-forme de développement Java • JDK 1.0.x : compatibles avec Java 1.0 • spécifications originales, API et classes élémentaires • JDK 1.1.x : compatibles avec Java 1.1 • améliorations + JavaBeans, JDBC, RMI • événements, sécurité, servlets, JNI • JDK 1.2.x : compatibles avec Java 2 • Swing, améliorations des JavaBeans, • API Java2D, API d’accessibilité Introduction à Java

  26. Le JDK contient • javac : compilateur des sources Java (produit du byte-code) • java : interpréteur de byte-code • appletviewer : interpréteur d’applets • javadoc : générateur de documentation HTML • jdb : débogueur • javap : undécompilateur (revenir du byte-code au source) • jar : compresseur de classes Java La Plate-forme de développement Java Introduction à Java

  27. Les Application Programming Interfaces (API) • Ensembles de classes mises à la disposition du programmeur; • L’API Java Core contient : • java.lang : types de base, Threads, Exceptions • java.io : accès aux I/O • java.util • java.net • java.awt • java.applet • java.math • java.text La Plate-forme de développement Java Introduction à Java

  28. Développer avec Java Programmer en Java Une application Java est organisées en modules (package). Un module contient une ou plusieurs définitions de classes dont une seule est publique. Le nom du fichier = celui de la classe publique + «.java» cycle de développement • stocker le code source dans un fichier «.java» • javac compile ce fichier et le transforme en fichiers de byte-code de suffixe «.class» • java (l’interpréteur) charge ce byte-code et le vérifie • après vérification, exécution de byte-code Introduction à Java

  29. Une application Java Programmer en Java Le texte public class Bonjour{ public static void main() { System.out.println("Bonjour!!!"); } } est sauvegardé dans le fichier «Bonjour.java» Pour compiler :. javac Bonjour.java Cette commande crée le fichier «Bonjour.class» java Bonjour Pour l’exécuter :. Introduction à Java

  30. Une applet Java Programmer en Java Le texte public class BonjourAp extends java.applet.Applet{ public void paint(java.awt.Graphics g) { g.drawString("Bonjour!!!", 125,95); } } est sauvegardé dans le fichier «BonjourAp.java» Pour compiler :. javac BonjourAp.java Cette commande crée le fichier «BonjourAp.class» Introduction à Java

  31. <HTML> <HEAD> <TITLE>l’applet Bonjour </TITLE> </HEAD> <BODY> Voilà le résultat : <applet code = "BonjourAp.class" width =300 height =200> </applet> </BODY> </HTML> Une applet Java (suite) Pour l’exécuter, écrire la page HTML:. Programmer en Java puis l’ouvrir avec appletviewer ou son navigateur préféré. . . Introduction à Java

  32. Le phénomène «JAVA» Conclusion • Langage non «propriétaire» • intègre les progrès des deux dernières décennies : objets, exceptions, threads • propose toutes les API nécessaires pour programmer les Systèmes d’Information des entreprises • environnement d’exécution (portabilité + performance) • distribution sur plates-formes variées, en évolution rapide Introduction à Java

More Related