Introduction à Java Plan du cours (1/4) 1. Introduction générale et historique

Introduction à Java Plan du cours (1/4) 1. Introduction générale et historique 2. Première application en Java 3. Syntaxe et sémantique de Java 4. Interfaces graphiques et Gestion des événements 5. La gestion des Exceptions 6. Accès à la base de données Références - http://java.sun.com/docs/books/tutorial/ - “Beginning Programming with Java 4th Edition” , Barry Burd , DUMMIES, 2014 - « JAVA PROGRAMMING, Eighth Edition », JOYCE FARRELL , Cengage learning , 2016 - “Java: A Beginner’s Guide Fourth Edition”, Herbert Schildt , McGraw-Hill ,2007 - « Pro Java Programming », Brett Spell, Apress, 2015 • 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 • Quelques notions historiques • Java est un langage de programmation – 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 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 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++ • 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 • 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 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 Déploiement d’un programme 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 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é 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 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 (IDE) – Netbeans (http://www.netbeans.com) – Borland JBuilder (http://www.borland.com/jbuilder) – IBM WebSphere Studio (http://www.ibm.com/software/awdtools) – Sun ONE Studio (http://wwws.sun.com/software/sundev) – Microsoft .Net Studio (http://msdn.microsoft.com/vstudio) – … Comment développer une application? Une première application Application versus Applet ou web • Une application Java – est composée d’une classe possédant une méthode main() : public static void main (String[] args){ //code à exécuter pour initialiser l’application } – L’environnement d’exécution dépend de l’OS de la machine – Pas de restriction au niveau des API • Une applet Java – Comprend une classe publique dérivant de java.applet.Applet – L’environnement d’exécution dépend du browser Web – Restrictions au niveau des API • Généralement pas autorisée à lire ou écrire sur des fichiers locaux. • Interdiction d’ouvrir des connections réseaux vers d’autres systèmes que la machine hôte qui a chargé l’applet • … Une première application Application HelloWorld • Créer un fichier texte : HelloWorld.java • Règle de bonne pratique : 1 classe par fichier et 1 fichier par classe La première ligne du programme doit être la déclaration de la classe Tout programme doit contenir une méthode main qui porte la signature ci-contre Écrire à l’écran “Hello the World” Fermer les accolades public class HelloWorld { public static void main (String[]args) { System.out.println("Hello the World"); } } Compiler le programme : javac HelloWorld.java Le compilateur génère le bytecode dans le fichier : HelloWorld.class Exécuter l’application : java HelloWorld « Hello the World » s’affiche à l’écran EX 2.1 Commentaires dans le code source Trois façons d’inclure des commentaires : – Tout texte entre « // » et la fin de la ligne // Commentaires sur une seule ligne – Tout texte entre « /* » et « */ » /* Commentaires sur un nombre important voire très important de lignes */ – Les textes entre « /** » et « */ » sont utilisés pour créer des commentaires que l’exécutable JAVADOC pourra traiter afin de produire une documentation (cf. documentation de l’API Java) /** Commentaires destinés à la documentation */ Identificateurs • Un identificateur (identifier) permet de désigner une classe, une méthode, une variable … • On ne peut utiliser ce que l’on uploads/s3/ java 2 .pdf

  • 25
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager