Introduction à Java Hugues Bersini Code/IRIDIA – Université Libre de Bruxelles
Introduction à Java Hugues Bersini Code/IRIDIA – Université Libre de Bruxelles Objectifs du cours (1/2) • Décrire les éléments-clé de la plate-forme Java • Compiler et exécuter une application Java • Prendre en mains l’environnement de développement Eclipse • Comprendre et utiliser la documentation en ligne de Java • Décrire la syntaxe du langage • Comprendre le paradigme OO et utiliser Java pour le mettre en œuvre • Comprendre et utiliser les exceptions Objectifs du cours (2/2) • Etre capable, au terme de la formation, de développer de petites applications OO comprenant une dizaine de classes et mettant en œuvre les principaux concepts OO et structures Java. • Le cours couvre l’essentiel de la matière des examens « OO for Java – Basic », « Java SE – Basic » et « Java SE Core – Intermed » de Java BlackBelt (www.javablackbelt.com) Plan du cours (1/4) 1. Introduction générale et historique Le langage de programmation Java La plateforme Java Les versions de Java 2. Première application en Java Ecriture du code, compilation et exécution Application v/s Applet Utilitaires Java 3. Syntaxe et sémantique de Java Identificateurs Types primitifs et types de référence Tableaux et chaînes de caractères Arithmétique et opérateurs Instructions de contrôle Plan du cours (2/4) 4. Programmation orientée objets en Java Programmation procédurale v/s Programmation OO Concepts de l’OO La création d’objets: Constructeurs et mot-clé « new » Les variables: Déclaration et portée Les méthodes: Déclaration, interface et surcharge L’encapsulation: « public », « private » et « protected » Les membres d’instance et de classe: « static » Utilisation de l’héritage: « this » et « super » Conversion de types Polymorphisme Classes abstraites Interfaces Plan du cours (3/4) 5. Structure des API de Java 6. Les collections Aperçu du Java Collections Framework La classe ArrayList 7. La gestion des Exceptions Principes et hiérarchie des classes d’exceptions Interception par bloc try – catch – finally Lancement par mots-clés throws et throw Quelques sujets non couverts • Développement des applets • Interfaces graphiques (Swing et AWT) • Développement d’application clients/serveur TCP/IP UDP • Enterprise Java Beans (EJB) • Servlets et Java Server Pages (JSP) • Connections à des bases de données (JDBC) Références Web • The Java Tutorial from Sun http://java.sun.com/docs/books/tutorial/ • Thinking in Java http://www.thinkinginjava.org/ http://penserenjava.free.fr/ • The Java Developer Connection http://developer.java.sun.com/developer/index.html • Gamelan http://www.gamelan.com • Java Applet Rating Services http://www.jars.com Introduction à Java I. Introduction et historique Survol du chapitre • Qu’est-ce que Java ? • Java comme langage de programmation • La plateforme Java La Java Virtual Machine Les interfaces de programmation d’application (API) • Déploiement d’un programme • Les versions de Java • Quelques notions historiques Qu’est-ce que Java ? • Java est un langage de programmation Voir le « white paper » de J.Gosling Un programme Java est compilé et interprété • Java est une plateforme La plateforme Java, uniquement software, est exécutée sur la plateforme du système d’exploitation La « Java Platform » est constituée de : La « Java Virtual Machine » (JVM) Des interfaces de programmation d’application (Java API) Java comme langage de programmation Java est un langage de programmation particulier qui possède des caractéristiques avantageuses: Simplicité et productivité: Intégration complète de l’OO Gestion mémoire (« Garbage collector ») Robustesse, fiabilité et sécurité Indépendance par rapport aux plateformes Ouverture: Support intégré d’Internet Connexion intégrée aux bases de données (JDBC) Support des caractères internationaux Distribution et aspects dynamiques Performance Java comme langage de programmation Simple et orienté objet • Java est un langage de programmation simple Langage de programmation au même titre que C/C+ +/Perl/Smalltalk/Fortran mais plus simple Les aspects fondamentaux du langage sont rapidement assimilés • Java est orienté objet : La technologie OO après un moment de gestation est maintenant complètement intégrée En java, tout est un objet (à la différence du C++ par ex.) • Simple aussi parce qu’il comporte un grand nombre d’objets prédéfinis pour l’utilisateur • Java est familier pour les programmeurs C++ Java comme langage de programmation Robuste et sécurisé • Conçu pour créer des logiciels hautement fiables • Oblige le programmeur à garder à l’esprit les erreurs hardware et software • Vérifications complètes à l’exécution et à la compilation • Existence d’un « garbage collector » qui permet d’éviter les erreurs de gestion de la mémoire Java comme langage de programmation Neutre architecturalement • Il existe une grande diversité de systèmes d’exploitation • Le compilateur Java génère un bytecode, c’est à dire un format intermédiaire, neutre architecturalement, conçu pour faire transiter efficacement le code vers des hardware différents et/ou plateformes différentes • Le bytecode ne peut-être interprété que par le processeur de la JVM MyProgram.java MyProgram.class Mac JVM Java Compiler = bytecode Windows JVM Unix JVM Java comme langage de programmation Ouvert et distribué • Support intégré d’Internet La Class URL Communication réseaux TCP et UDP RMI, CORBA, Servlets JINI, le « must » pour construire des applications complexes distribuées….. • Connectivité aux bases de données JDBC: Java DataBase Connectivity Offre des facilités de connexions à la plupart des BD du marché Offre un pont vers ODBC • Support des caractères internationaux Java utilise le jeu de caractères UNICODE JVM équipée de tables de conversion pour la plupart des caractères JVM adapte automatiquement les paramètres régionaux en fonction de ceux de la machine sur laquelle elle tourne Java comme langage de programmation Performant • Considération basique • Exécution ralentie à cause de l’interpréteur ? • Le code natif généré par l’interpréteur est-il aussi rapide que celui réalisé par un compilateur classique (par ex C)? • Plusieurs processus peuvent être exécutés en même temps Comparable au multitâche d’un OS Le temps du CPU est divisé (sliced) Toutes les bibliothèques Java • Edition de lien effectuée à l’exécution du programme • Codes exécutables chargés depuis un serveur distant permet la mise à jour transparente des applications Java comme Plateforme • Plateforme = environnement hardware ou software sur lequel le programme est exécuté. • La Java « Platform » se compose de: la Java Virtual Machine (Java VM) la Java Application Programming Interface (Java API) Java comme Plateforme Java Application Programming Interface (API) • L’API Java est structuré en libraires (packages). Les packages comprennent des ensembles fonctionnels de composants (classes).. • Le noyau (core) de l’API Java (incluse dans toute implémentation complète de la plateforme Java) comprend notamment : Essentials (data types, objects, string, array, vector, I/O,date,…) Applet Abstract Windowing Toolkit (AWT) Basic Networking (URL, Socket –TCP or UDP-,IP) Evolved Networking (Remote Method Invocation) Internationalization Security ….. Java comme Plateforme Java Virtual Machine (1/2) • « An imaginery machine that is implemented by emulating it in software on a real machine. Code for the JVM is stored in .class files, each of which contains code for at most one public class » • Définit les spécifications hardware de la plateforme • Lit le bytecode compilé (indépendant de la plateforme) • Implémentée en software ou hardware • Implémentée dans des environnements de développement ou dans les navigateurs Web Java comme Plateforme Java Virtual Machine (2/2) La JVM définit : Les instructions de la CPU Les différents registres Le format des fichiers .class Le « stack » Le tas (« Heap ») des objets « garbage-collectés » L’espace mémoire Java comme Plateforme Java Runtime Environment Trois tâches principales : Charger le code (class loader) Vérifier le code (bytecode verifier) Exécuter le code (runtime interpreter) D’autres THREAD s’exécutent : Garbage collector (JIT compiler) Déploiement d’un programme (1/2) Paradigme classique de la compilation MyProgram.c Compiler MyProgram.o 010110… Génère du code natif directement exécutable, mais spécifique à chaque environnement Exécuté une seule fois Mais différent pour chaque environnement Déploiement d’un programme (2/2) Changement de la vision traditionnelle de la compilation • Chaque programme est compilé et interprété • « Write once run everywhere » MyProgram.java Compiler MyProgram.class Interpreter 010110… Traduit le programme en un code intermédiaire Appelé bytecode – indépendant de la machine Lit le bytecode et exécute sur la machine Exécuté une seule fois Chaque fois que le programme est exécuté Les versions de Java • SE v/s EE, annexes • SDK v/s JRE • 1.1 v/s 1.2 et suivantes • Télécharger l’environnement Java et Eclipse Bref Historique • 1991: Développement de OAK langage simple, portable et orienté objets pour la programmation d’appareils électroniques ménagers emprunte la portabilité du Pascal (VM) et la syntaxe de C++ • 1994: Abandon du projet OAK Peu d’enthousiasme pour l’idée • 1995: Intégration de la JVM dans Netscape Apparition des Applets Explosion d’Internet attrait grandissant pour Java • 1999: Apparition de JINI Nouvelle technologie basée sur Java Reprend l’ambition de départ d’un plug and play universel Distribué sur tous les appareils munis d’un processeur • 2006: Java devient Open Source Les sources de la plateformes Java sont désormais libres sous licence GNU Introduction à Java II. Première application en Java Deux façons d’écrire des programmes Java: • En écrivant le code dans un simple éditeur de texte Compilation et exécution du code en ligne de commande (DOS) • En utilisant un environnement de développement uploads/s3/ cours-java-2013.pdf
Documents similaires










-
31
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Nov 08, 2022
- Catégorie Creative Arts / Ar...
- Langue French
- Taille du fichier 2.1744MB