|
|
- Anne-Laure Pinette
- il y a 8 ans
- Total affichages :
Transcription
1 Ceci est un extrait électronique d'une publication de Diamond Editions : Ce fichier ne peut être distribué que sur le CDROM offert accompagnant le numéro 100 de GNU/Linux Magazine France. La reproduction totale ou partielle des articles publiés dans Linux Magazine France et présents sur ce CDROM est interdite sans accord écrit de la société Diamond Editions. Retrouvez sur le site tous les anciens numéros en vente par correspondance ainsi que les tarifs d'abonnement. Pour vous tenir au courant de l'actualité du magazine, visitez : Ainsi que : et
2 News Par :: Jean-Baptiste Onofré Les nouveautés de Java 1.5 Tiger 12 Depuis ses débuts, le langage Java n a cessé d évoluer et introduit beaucoup de nouvelles fonctionnalités surtout du côté serveur avec J2EE. Aujourd hui, c est une évolution majeure qui voit le jour avec la sortie de la nouvelle version du langage : Java 1.5, nom de code «Tiger». Cette nouvelle version rassemble des API développées précédemment en dehors du JDK et introduit des nouvelles notations et techniques de programmation. Faisons ensemble un tour d horizon des nouveautés de cette nouvelle version. Les motivations de Java 1.5 Les motivations de Java 1.5 peuvent se résumer en quatre points : Facilité de développement. Performance et évolutivité. Monitoring et manageabilité. Client desktop. Le JCP (Java Community Process) a établi une liste de 15 spécifications JSR regroupant plus de 100 changements majeurs dans le langage. On remarque bien l importance de cette nouvelle version à la fois dans ses fonctionnalités pour le développeur mais aussi pour l utilisateur final. Nouveautés du langage pour faciliter le développement Nous allons voir ici les nouveautés du langage qui facilitent la vie du développeur. Ces nouveautés sont : Les types génériques. Les metadatas. L autoboxing. La nouvelle notation des iterators (loop). Les types énumérés. Les imports statiques. Le format d écriture des entrées/ sorties «à la C». Les arguments variables. Les utilitaires de concurrence. La génération d interface RMI simplifiée. Ces changements sont regroupés dans trois spécifications JSR : JSR-201 regroupe la nouvelle notation des iterators, les types énumérés, les imports statiques et l autoboxing. JSR-175 présente les spécifications des metadatas. JSR-14 décrit les types génériques. Commençons la description de chaque nouveauté. Metadatas La fonctionnalité metadata permet d associer des données additionnelles à des classes, des interfaces, des méthodes ou des attributs Java. Ces données additionnelles, appelées "annotations", peuvent être lues par le compilateur Javac (ou d autres outils) et peuvent être stockées dans le fichier class et être appelées à l exécution grâce à l API de réflexion Java. Grâce aux metadatas, la plate-forme Java permet à des outils tiers d utiliser la même infrastructure commune et donc de réduire les efforts pour le développement et le déploiement. Un outil peut utiliser les metadatas pour générer du code source supplémentaire ou pour fournir des informations de débuggage par exemple. C est une forme de Attribute Oriented Programmation comme le fait XDoclet sur les tags JavaDocs. D ailleurs Java 1.5 fournit un processeur d annotation appelé «apt». Apt inclut un ensemble de nouvelles API de réflexion et supporte l infrastructure pour gérer les annotations. Grâce aux metadatas (et apt), de nombreuses étapes de répétition de code peuvent être remplacées par des tags. Par exemple, l interface Remote nécessaire lorsque vous accédez à un service JAX-RPC peut être générée avec les metadatas : public class Ping { void ping() { Alors qu en Java 1.4, on aurait dû déclarer notre interface explicitement :
3 Les nouveautés de Java 1.5 Tiger public interface PingI extends Remote { public void ping() throws RemoteException; public class Ping implements PingI { public void ping() { Types génériques Les types génériques sont tout particulièrement utiles dans les collections. L API Collection fournit différents types de listes comme les LinkedList, les ArrayList ou les HashMap qui peuvent être utilisées pour stocker différents types d objets. Par exemple, avec Java 1.4, pour créer une liste et stocker un objet à l intérieur, il faut faire : ArrayList list = new ArrayList(); int total = ((Integer)list.get(0)).intValue(); Le cast de la dernière ligne est un cast de type qui va pouvoir être évité avec les types génériques. Le problème vient du fait que l API Collection de Java 1.4 utilise la classe «object» pour le stockage de la Collection, ce qui signifie que le type ne peut pas être déterminé au moment de la compilation. Si par exemple, vous attendez un objet de type Integer, vous allez caster avec (Integer), mais si l objet inséré n est pas de type Integer (ce qui est tout à fait possible puisque tous les objets en Java héritent de la classe object), vous aurez une ClassCastException à l exécution. Désormais avec les types génériques, vous n avez plus besoin de caster et vous êtes sûrs que votre liste contient bien que des objets du type que vous attendez : int total = list.get(0).intvalue(); Le développeur a juste à préciser le type avec la notation <>. Les casts de type ne sont plus nécessaires et désormais, si par exemple vous essayez d insérer un objet String dans cette liste, l erreur sera détectée au moment de la compilation (et pas à l exécution). Vous pouvez également définir vos propres API utilisant les types génériques. Pour cela, le mieux est de commencer par jeter un oeil à l implémentation de java. util.collection. Autoboxing et auto-unboxing des types primitifs La conversion entre types primitifs (comme int, boolean, etc. et leur équivalent object comme Integer, Boolean, etc.) peut nécessiter du code supplémentaire tout spécialement dans un contexte de Collection. L autoboxing et l auto-unboxing des types primitifs permet de réduire significativement la quantité de code à écrire pour les conversions. Typiquement, voilà le code qu il fallait fournir pour la conversion de Integer vers int : int total = (list.get(0)).intvalue(); On remarque que pour l ajout dans la liste, on doit explicitement créer l objet avec new Integer et que pour la récupération de la valeur, on fait appel à intvalue pour revenir au type int. Grâce à l autoboxing, ces manipulations sont faites automatiquement : list.add(0, 42); int total = list.get(0); Les new Integer et intvalue ont disparu :). Nouveau iterator La classe Iterator est très utilisée dans l API Collection. Elle fournit un mécanisme pour itérer dans une collection. La nouvelle notation remplace l itérateur quand vous voulez simplement traverser une collection. Le compilateur génère un code d itération nécessaire ainsi que les casts nécessaires. Avec Iterator de Java 1.4, on fait : for(iterator i = list.iterator(); i.hasnext();) { Integer value = (Integer)i.next(); A présent, on a une nouvelle notation pour itérer : for(integer i:list) {... Types énumérés Un nouveau type voit le jour : enum. Il vous permet de stocker une énumération de constantes (statiques et finales) : public enum FeuDeSignalisation { rouge, orange, vert ; Import statique L import statique vous permet de référencer une constante statique d une classe sans avoir besoin d hériter de la classe. Par exemple, à la place de faire BorderLayout.CENTER chaque fois que vous ajoutez un component, vous pouvez directement faire CENTER : import static java.awt.borderlayout.*; getcontentpane().add(new JPanel(), CENTER); Sorties formatées A présent, les développeurs peuvent utiliser les sorties formatées comme avec la fonction printf du langage C. La majorité des formatés du langage C est présente, plus quelques spécifiques à Java notamment pour les Dates et les BigInteger. Vous pouvez vous référer à la classe java.util.formatter. Le caractère Unix \n est bien sûr accepté mais pour des raisons de portabilité, il est recommandé d utiliser le standard Java %n. System.out.printf( Newline %n ); System.out.printf( %s %5d%n,user,total); Entrées formatées Comme nous avons les sorties formatées «à la C», nous avons l équivalent côté entrées. Java 1.5 fournit une API Scanner qui permet de lire des données à partir de la console ou de n importe quel flux d entrée. Les méthodes next et nextint sont bloquantes si aucune donnée n est récupérée : Scanner s = new Scanner(System.in); String param = s.next(); int value = s.nextint(); s.close(); Arguments variables Les arguments variables sont une fonctionnalité permettant de passer des arguments multiples comme paramètre de méthodes. Il suffit d utiliser la notation... pour que la méthode accepte une liste d arguments et utilise un nombre aléatoire d arguments. Ainsi, il n est plus nécessaire de fixer le nombre d arguments : void argumentreader(object... args) { for(int i = 0; i < args.length; i++) { System.out.println(args[i].toString()); argumentreader( Hello, World ); Utilitaires de gestion de concurrence Le développement de l API de gestion de concurrence a débuté avant le Roadmap de Java
4 News 14 En effet, cette API est décrite dans la spécification JSR-166 dirigée par Doug Lea. Elle a donc été tout naturellement incluse dans la Java 1.5. Cette API permet une abstraction du modèle de thread Java incluant les executors, un framework de thread task, des files d attente de threads, les timers, les locks (atomiques ou pas) et des primitives de synchronisation. Ainsi la programmation de sémaphores est facilitée. Par exemple, désormais il est possible de faire un wait sur un sémaphore permettant de contrôler l accès à un bloc de code. Les sémaphores sont plus souples et peuvent permettre l accès à plusieurs threads concurrents (bien sûr, il faut que vous testiez le lock avant de l acquérir dans vos threads, ça ne se fait pas encore tout seul :)). Je vous invite à regarder le package java.util.concurrent pour plus d informations : final private Semaphore s = new Semaphore(1, true); int balanceaccount = 1000; s.acquireuninterruptibility(); // si vous ne voulez pas de bloquage, vous pouvez utiliser s.acquire() à la place. Ici, tant qu on obtient pas le lock, on attend. try { // on rentre en section critique, ce block est locké // et donc protégé balanceaccount = balanceaccount + 10; finally { s.release(); // on rend le lock disponible Il était une fois RMIC Lorsque vous faites de la programmation RMI (Remote Method Invocation), vous avez le mécanisme que j avais expliqué dans l article «Jboss»[1] : génération du stub côté client qui est un proxy embarquant les fonctionnalités réseau, transfert réseau, skeleton côté serveur qui est la même chose que le stub mais côté serveur. Dans un contexte J2EE, c est le serveur d application qui s occupe de la génération des stubs et des skeletons. Mais lorsque vous faites du RMI hors contexte J2EE, il vous faut générer le stub de votre côté (le côté client). Pour cela, vous deviez faire appel à RMIC qui était un outil de compilation RMI. Désormais, avec l utilisation des proxies dynamiques, vous n avez plus besoin de RMIC : les informations fournies dans le stub peuvent désormais être découvertes à l exécution. Performances, évolutivité et management Amélioration des performances On reproche souvent à Java sa lenteur et sa consommation ressource (même si les choses se sont beaucoup améliorées depuis Java 1.2). Java 1.5 s est fixé des objectifs de performance sans équivalent et notamment au lancement. Une nouveauté intéressante est l introduction du partage des données de classe entre JVM. Cette technologie permet à plusieurs JVM de partager les mêmes données read-only, mais aussi de permettre un démarrage plus rapide en permettant le pre-packaging des classes bas niveau de la JVM. Ainsi les nouvelles JVM créées utilisent des données déjà chargées en mémoire et sont donc plus rapides. De nouvelles options de paramétrage du heap Java voient également le jour dans Java 1.5. Désormais, deux nouveaux paramètres permettent de spécialiser le comportement de la JVM en fonction de l application : Le Maximum Pause Time Goal (option -XX:MaxGCPauseMillis=nnn) représente le temps d arrêt de l application lorsque le Garbage Collector est appelé. Si le Garbage Collector met plus de temps que le Maximum Pause Time Goal pour s exécuter, ce dernier est arrêté et l application reprend la main. Le Throughput Goal (option -XX: GCTimeRatio=nnn) mesure le temps occupé par le Garbage Collector par rapport au temps total. Ainsi, vous pouvez limiter le temps passé en Garbage Collection (le ratio est calculé par 1/(1 + nnn)). Ainsi, si vous précisez un ratio de 19 (- XX:GCTimeRatio=19), cela signifie qu au maximum, vous allez passer 5% du temps d exécution dans le Garbage Collector. Monitoring et management Je vous avais déjà présenté JMX (Java Management extension, spécification JSR-160) dans l article sur JBoss. JMX permet de monitorer et manager des périphériques ou applications JMX-compliants. Désormais, JMX est directement inclus dans la JVM ce qui vous permet de monitorer et de manager la JVM elle-même. Dans la plate-forme Java, le monitoring et le management sont un des points clef de ce qu on appelle RAS : Reliability, Availability, Serviceability. Désormais, vous disposez d une API dédiée au monitoring et au management. Vous pouvez donc monitorer/manager votre JVM directement dans du code ou en utilisant un adaptateur JMX (client distant ou console Web). Par exemple, nous pouvons démarrer une JVM avec le support d une console JMX sur un port donné : java -Dcom.sun.management.jmxremote.port=5001 -Dcom.sun. management.jmxremote.ssl=false -Dcom.sun.management.jmxremote. authenticate=false -jar Java2Demo.jar Une autre possibilité est de monitorer directement dans votre code. Voilà comment afficher l usage détaillé du heap de la JVM : import java.lang.management.*; import java.util.*; public class MemoryUsage { public static void main(string args[]) { List<MemoryPoolMXBean> pools = ManagementFactory. getmemorypoolmxbeans(); for(memorypoolmxbean p: pools) { System.out.println( Memory type = + p.gettype() + / Memory usage = + p.getusage()); Profiling Java 1.5 inclut une API de profiling appelée JVMTI. Cette API est spécifiée dans la JSR-163, l objectif initial était de refondre les interfaces de profiling. Au final, l API couvre beaucoup d autres choses comme le profiling, le debugging et des outils d analyse de code. L implémentation inclut un mécanisme d instrumentation du bytecode appelé JPLIS (Java Programming Language Instrumentation Services) qui permet à des outils d analyse d ajouter du profiling uniquement lorsque c est nécessaire. L avantage de cette technique est de se focaliser uniquement sur les analyses et de ne pas avoir d interférences d outils de profiling de la JVM. L instrumentation peut être générée à l exécution ou au chargement de classe. L exemple suivant crée une instrumentation qui peut charger une version modifiée d une classe à partir du disque. Pour lancer ce test, exécuter java -javaagent=mybci BCITest : [1] Jean-Baptiste Onofré, «Jboss» in Linux magazine 60.
5 Les nouveautés de Java 1.5 Tiger // fichier mybci.java import java.lang.instrument.instrumentation; public class mybci { private static Instrumentation copy; public static void premain(string options, Instrumentation instrumentation) { copy = instrumentation; public static Instrumentation getinstrumentation() { return copy; // fichier BCITest.java import java.nio.*; import java.io.*; import java.nio.channels.*; import java.lang.instrument.*; public class BCITest { public static void main(string args[]) { try { OriginalClass mc = new OriginalClass(); mc.message(); FileChannel fc = new FileInputStream(new File( modified +File.separator+ OriginalClass.class )). getchannel(); ByteBuffer buf = fc.map(filechannel.mapmode.real_only, 0, (int)fc.size()); byte[] classbuffer = new byte[buf.capacity()]; buf.get(classbuffer, 0, classbuffer.length); mybci.getinstrumentation().redefineclasses(new ClassDefinition[] { new ClassDefinition(mc.getClass(), classbuffer) ); mc.message(); catch(exception e) { // fichier OriginalClass.java // la version d origine est compilé dans le répertoire courant // Copier la source dans un répertoire modified, modifier le message et recompilez // la classe sera rechargé dynamiquement :) public class OriginalClass { public void message() { System.out.println( OriginalClass ); Par exemple, vous pouvez envoyer un mail lorsque la JVM s arrête ou lancer gdb (%p représente le processus ID ) : java -XX:OnError= mail -s JVMERROR jb@nanthrax.net ERROR java -XX:OnError= gdb %p Client desktop La première chose que l on remarque lorsqu on lance une application graphique avec Java 1.5, c est la rapidité de chargement. De nombreuses améliorations de performances ont été faites au niveau des API graphiques. Désormais, le toolkit Swing propose un nouveau thème appelé «Ocean» et supporte en natif les thèmes GTK et Windows XP. Sur Linux, Solaris et Windows, on dispose de l accélération OpenGL native (si la carte vidéo le supporte) en utilisant une propriété de lancement : java -Dsun.java2d.opengl=true -jar Java2D.jar Autre innovation de taille, désormais le toolkit AWT de Java (celui utilisé par défaut et par toutes les API graphiques) est basé sur X11 (et non plus Motif) et de plus, AWT supporte le protocole XDnD de X11, ce qui vous permet de faire du drag and drop avec d autres applications X11 comme OpenOffice ou Firefox. Au niveau JDBC, cinq nouvelles classes de RowSet ont été implémentées. Les deux plus intéressantes sont CachedRowSet et WebRowSet. Les objets de type RowSet, à l inverse des objets de type ResultSet, peuvent manipuler les données sans être obligatoirement connectés à la base de données (ou à une autre source de données). Ainsi, l utilisation des RowSet est moins gourmande en ressources puisqu on ne tient pas la connexion à la base. Ils sont donc plus performants que les «classiques» ResultSet. Un CachedRowSet stocke les collections de lignes en mémoire, et si nécessaire, il peut être synchronisé avec la base. D un autre côté, un WebRowSet stocke les collections de lignes au format XML. Voilà un exemple utilisant un WebRowSet : Class.forName( org.postgresql.driver ); WebRowSetImpl wrs = new WebRowSetImpl(); wrs.setcommand( select username from users ); wrs.setusername( postgres ); wrs.setpassword( postgres ); wrs.seturl( jdbc:postgresql://localhost/dbname ); wrs.execute(); // exécute la requête et stocke le résultat dans le RowSet wrs.absolute(1); // retourne le pointeur au début du RowSet wrs.writexml(system.out); // export le RowSet sous forme XML wrs.close(); 15 Amélioration des diagnostics Lorsqu une exception survenait, le code classique consistait à faire un affichage de la pile pour remonter à l origine de l erreur (avec la méthode getstacktrace()). Mais, lorsqu on ne met pas en place d API de logging et qu on a plus de console d ouverte, il est parfois difficile de récupérer ces traces. Java 1.5 a introduit deux nouvelles méthodes : getstacktrace et Thread.getAllStackTraces permettent de récupérer ces traces grâce à du code : StackTraceElement e[] = Thread.currentThread(). getstacktrace(); for(int i = 0; i < e.length; i++) { System.out.println(e[i]); System.out.println( \n +Thread.getAllStackTraces()); Désormais la JVM inclut un handler d erreur qui peut être lancé lorsque la JVM s arrête de manière non conforme (avec l option -XX:OnError=). Autres nouveautés Java 1.5 s est mis à la page concernant le support du XML avec notamment : Support de XML 1.1 avec les namespaces. Support des schémas XML. Support de SAX et DOM level 3. Nouveau compilateur XSL plus performant. De nouveaux caractères ont été également ajoutés en vue du support de Unicode 4.0. Références Sun.net. Conclusion Java 1.5 est une version majeure de Java. Il n y a pas vraiment de nouveaux concepts révolutionnaires mais beaucoup de nouveautés simplifiant la vie du développeur. De plus, les performances sont au rendezvous. Les développeurs ne s y sont pas trompés puisque, par exemple, JBoss 4 est développé avec Java 1.5 ainsi que Apache Geronimo 1.0M3.
Remote Method Invocation Les classes implémentant Serializable
Parallélisme Architecture Eric Goubault Commissariat à l Energie Atomique Saclay Classe qui implémente la méthode distante (serveur): - dont les méthodes renvoient un objet serializable - ou plus généralement
Plus en détailas Architecture des Systèmes d Information
Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes
Plus en détailRMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants.
RMI Remote Method Invocation: permet d'invoquer des méthodes d'objets distants. Méthode proche de RPC. Outils et classes qui rendent l'implantation d'appels de méthodes d'objets distants aussi simples
Plus en détailLMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour
LMI 2 Programmation Orientée Objet POO - Cours 9 Said Jabbour jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour CRIL UMR CNRS 8188 Faculté des Sciences - Univ. Artois Février 2011 Les collections
Plus en détailRN2-Programmation Orientée Objet - JAVA CH 1 Introduction à la POO et Java
RN2-Programmation Orientée Objet - JAVA CH 1 à la POO et Java Licence Professionnelle 2006 Agnès Guerraz INRIA Rhône-Alpes agnes.guerraz@inria.fr LP UPMF, Grenoble Septembre 2006 Ce cours reprend en grande
Plus en détailVulgarisation Java EE Java EE, c est quoi?
Paris, le 1 Février 2012 Vulgarisation Java EE Java EE, c est quoi? Sommaire Qu est ce que Java? Types d applications Java Environnements Java Versions de Java Java EE, c est quoi finalement? Standards
Plus en détailAuto-évaluation Programmation en Java
Auto-évaluation Programmation en Java Document: f0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION PROGRAMMATION EN
Plus en détailRemote Method Invocation (RMI)
Remote Method Invocation (RMI) TP Réseau Université Paul Sabatier Master Informatique 1 ère Année Année 2006/2007 Plan Objectifs et Inconvénients de RMI Fonctionnement Définitions Architecture et principe
Plus en détailPlan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7
Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin
Plus en détailCours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr
. Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 Enrica.Duchi@liafa.jussieu.fr LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le
Plus en détailTP1 : Initiation à Java et Eclipse
TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les
Plus en détailCalcul Parallèle. Cours 5 - JAVA RMI
Calcul Parallèle Cours 5 - JAVA RMI Eric Goubault Commissariat à l Energie Atomique & Chaire Ecole Polytechnique/Thalès Saclay Le 28 février 2012 Eric Goubault 1 28 février 2012 Remote Method Invocation
Plus en détailIntroduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf
Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations
Plus en détailChapitre I Notions de base et outils de travail
Chapitre I Notions de base et outils de travail Objectifs Connaître les principes fondateurs et l historique du langage Java S informer des principales caractéristiques du langage Java Connaître l environnement
Plus en détailRMI le langage Java XII-1 JMF
Remote Method Invocation (RMI) XII-1 Introduction RMI est un ensemble de classes permettant de manipuler des objets sur des machines distantes (objets distants) de manière similaire aux objets sur la machine
Plus en détailJava - la plateforme
Java - la plateforme Java la plateforme Java? VM GC JIT Java Aujourd'hui 3 environnements d'exécutions différents Java ME (Micro Edition) pour PDA, téléphone Android (Java SE moins certain paquetages)
Plus en détailJava DataBaseConnectivity
Java DataBaseConnectivity JDBC JDBC est une API Java (ensemble de classes et d interfaces défini par SUN et les acteurs du domaine des SGBD) permettant d accéder aux bases de données à l aide du langage
Plus en détailProgrammer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)
Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes
Plus en détailInitiation à JAVA et à la programmation objet. raphael.bolze@ens-lyon.fr
Initiation à JAVA et à la programmation objet raphael.bolze@ens-lyon.fr O b j e c t i f s Découvrir un langage de programmation objet. Découvrir l'environnement java Découvrir les concepts de la programmation
Plus en détailSQL Server Installation Center et SQL Server Management Studio
SQL Server Installation Center et SQL Server Management Studio Version 1.0 Grégory CASANOVA 2 SQL Server Installation Center et SQL Server Management Studio [03/07/09] Sommaire 1 Installation de SQL Server
Plus en détailP r ob lé m a t iq u e d e la g é n é r icit é. Pr in cip e d e la g é n é r icit é e n Ja v a ( 1 /3 )
P r ob lé m a t iq u e d e la g é n é r icit é les versions de Java antérieures à 1.5 permettaient de créer des classes de structures contenant n'importe quels types d'objet : les collections (classes
Plus en détailPROGRAMMATION PAR OBJETS
PROGRAMMATION PAR OBJETS Java Environnement et constructions spécifiques Walter Rudametkin Maître de Conférences Bureau F011 Walter.Rudametkin@polytech-lille.fr B. Carré Polytech Lille 2 Java (Sun 1995)
Plus en détailGénéralités sur le Langage Java et éléments syntaxiques.
Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques....1 Introduction...1 Genéralité sur le langage Java....1 Syntaxe de base du Langage...
Plus en détailThreads. Threads. USTL http://www.lifl.fr/ routier 1
Threads USTL http://www.lifl.fr/ routier 1 Rappels - Définitions un Process est un programme qui tourne et dispose de ses propres ressources mémoire. OS multi-tâche plusieurs process en concurrence un
Plus en détailINITIATION AU LANGAGE JAVA
INITIATION AU LANGAGE JAVA I. Présentation 1.1 Historique : Au début des années 90, Sun travaillait sur un projet visant à concevoir des logiciels simples et performants exécutés dans des PDA (Personnal
Plus en détailJava Licence Professionnelle CISII, 2009-10
Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation
Plus en détailTraitement de données
Traitement de données Présentation du module TINI Présentation du module : Le module Tini se décline en plusieurs versions, il est constitué d une carte d application et d un module processeur : Les modules
Plus en détailTP1. Outils Java Eléments de correction
c sep. 2008, v2.1 Java TP1. Outils Java Eléments de correction Sébastien Jean Le but de ce TP, sur une séance, est de se familiariser avec les outils de développement et de documentation Java fournis par
Plus en détailJava Licence Professionnelle CISII, 2009-2010
Licence Professionnelle CISII, 2009-2010 Cours 1 : Introduction à Java A. Belaïd abelaid@loria.fr Cours disponible sur le site : http://www.loria.fr/~abelaid puis Teaching 1 Fonctionnement 12 séances :
Plus en détailINTRODUCTION A JAVA. Fichier en langage machine Exécutable
INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du
Plus en détailRemote Method Invocation en Java (RMI)
Remote Method Invocation en Java (RMI) Modélisation et construction des applications réparties (Module M-4102C) J. Christian Attiogbé Fevrier 2015 J. Christian Attiogbé (Fevrier 2015) Remote Method Invocation
Plus en détailCours 1: Java et les objets
Ressources Les interface homme-machine et le langage Java DUT première année Henri Garreta, Faculté des Sciences (Luminy) Cyril Pain-Barre & Sébastien Nedjar, IUT d Aix-Marseille (Aix) Cours 1: infodoc.iut.univ-aix.fr/~ihm/
Plus en détailStructure d un programme et Compilation Notions de classe et d objet Syntaxe
Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types
Plus en détailMise en œuvre des serveurs d application
Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54 Ces transparents, ainsi que les énoncés
Plus en détailLa base de données XML exist. A. Belaïd
La base de données XML exist Introduction Qu est-ce-que exist? C est une base de donnée native, entièrement écrite en Java XML n est pas une base de données en soi Bien qu il possède quelques caractéristiques
Plus en détailInstitut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique
Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation
Plus en détailJava c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/2012. 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme Java
1 - Vue générale 2 - Mon premier programme 3 - Types de Programme 1 2 c est quoi? Technologie développée par SUN Microsystems lancée en 1995 Dans un des premiers papiers* sur le langage JAVA, SUN le décrit
Plus en détailPremiers Pas en Programmation Objet : les Classes et les Objets
Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.
Plus en détailTP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface
Plus en détailJava 1.5 : principales nouveautés
Cours 6 - TEP - UPMC - 2008/2009 p. 1/34 Java 1.5 : principales nouveautés classes paramétrées : generics encapsulation des valeurs de types primitifs : auto[un]boxing itération sur les boucles types énumérés
Plus en détailEuropa. Développement JEE 5. avec Eclipse. K a r i m D j a a f a r. A v e c l a c o n t r i b u t i o n d e O l i v i e r S a l v a t o r i
Développement JEE 5 avec Eclipse Europa K a r i m D j a a f a r A v e c l a c o n t r i b u t i o n d e O l i v i e r S a l v a t o r i Groupe Eyrolles, 2008, ISBN : 978-2-212-12061-5 5 Le projet WTP (Web
Plus en détailIntergiciel - concepts de base
Intergiciel - concepts de base Ada Diaconescu, Laurent Pautet & Bertrand Dupouy ada.diaconescu _at_ telecom-paristech.fr Rappel : système réparti Système constitué de multiples ressources informatiques
Plus en détailCréation d une application JEE
Création d une application JEE Rédacteurs : Alexandre Baillif, Philippe Lacomme, Raksmey Phan et Michaël PLAN Date : juillet 2010 Mise à jour : Michaël PLAN Date : octobre 2014 Avertissement : - ce document
Plus en détailLangage et Concepts de ProgrammationOrientée-Objet 1 / 40
Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne gauthier.picard@emse.fr
Plus en détailJava et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige.
: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java Michel Bonjour http://cuiwww.unige.ch/~bonjour Plan JDBC: API bas niveau pour l accès aux BD (SQL) - Introduction - JDBC et : Java, ODBC, SQL
Plus en détailSynchro et Threads Java TM
Synchro et Threads Java TM NICOD JEAN-MARC Master 2 Informatique Université de Franche-Comté UFR des Sciences et Techniques septembre 2008 NICOD JEAN-MARC Synchro et Threads avec Java TM 1 / 32 Sommaire
Plus en détailInfo0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java
Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique
Plus en détailUne introduction à Java
Une introduction à Java IFT 287 (Semaine 1) UNIVERSITÉ DE SHERBROOKE 1 Java - Historique Développé par Sun Microsystems en 1994 Inventeur James Gosling (canadien!) Objectif langage sûr (fortement typé)
Plus en détailConstruire des plug-ins pour SAS Management Console SAS 9.1
Construire des plug-ins pour SAS Management Console SAS 9.1 Janvier 2005 Sommaire 1 INTRODUCTION... 3 1.1 OBJECTIFS... 3 1.2 PERIMETRE... 3 2 LES COMPOSANTS DE SAS MANAGEMENT CONSOLE... 4 3 LA CONSTRUCTION
Plus en détailAlfstore workflow framework Spécification technique
Alfstore workflow framework Spécification technique Version 0.91 (2012-08-03) www.alfstore.com Email: info@alfstore.com Alfstore workflow framework 2012-10-28 1/28 Historique des versions Version Date
Plus en détailMachines Virtuelles. et bazard autour. Rémi Forax
Machines Virtuelles et bazard autour Rémi Forax Avant propos Quelle est la complexité du code ci-dessous? Avec un processeur à 1Ghz, combien de temps le calcul prendra t'il? public static void main(string[]
Plus en détailUn ordonnanceur stupide
Un ordonnanceur simple Université Paris Sud L objet des exercices qui suivent est de créer un ordonanceur implantant l algorithme du tourniquet ( round-robin scheduler ). La technique utilisée pour élire
Plus en détailTutoriel d installation de Hibernate avec Eclipse
Tutoriel d installation de Hibernate avec Eclipse Table des matières 1. Création de la base de données... 4 2. Installation de Hibernate Synchronizer... 5 3. Utilisation de Hibernate... 6 3.1 Création
Plus en détailGestion distribuée (par sockets) de banque en Java
Gestion distribuée (par sockets) de banque en Java Université Paris Sud Rappel sur la solution locale de gestion simple de banque L objet de cet exercice était de créer une application java qui implante
Plus en détailLangage Java. Classe de première SI
Langage Java Table des matières 1. Premiers pas...2 1.1. Introduction...2 1.2. Mon premier programme...2 1.3. Les commentaires...2 2. Les variables et les opérateurs...2 3. La classe Scanner...3 4. Les
Plus en détailIntroduction : les processus. Introduction : les threads. Plan
IN328 Programmation distribuée avec Java et J2EE 2 - Threads en Java Introduction : les processus Un processus est un ensemble d instructions à exécuter, un espace mémoire réservé et éventuellement d autres
Plus en détailInstitut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki
Institut Supérieur de Gestion Cours pour 3 ème LFIG Java Enterprise Edition Introduction Bayoudhi Chaouki 1 Java EE - Objectifs Faciliter le développement de nouvelles applications à base de composants
Plus en détailJava c est quoi? Java pourquoi?
Grandes lignes du cours Cours JAVA : Le bases du langage Java. Version 3.02 Julien Sopena 1 1 julien.sopena@lip6.fr Équipe REGAL - INRIA Rocquencourt LIP6 - Université Pierre et Marie Curie Licence professionnelle
Plus en détailQuelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)
Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07
Plus en détailEncapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.
Encapsulation L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. La visibilité dépend des membres : certains membres peuvent être visibles et d'autres
Plus en détailChapitre 10. Les interfaces Comparable et Comparator 1
Chapitre 10: Les interfaces Comparable et Comparator 1/5 Chapitre 10 Les interfaces Comparable et Comparator 1 1 Ce chapitre a été extrait du document "Objets, Algorithmes, Patterns" de [René Lalement],
Plus en détailJ2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation
J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation Cycle Ingénierie 2e année SIGL Dernière mise à jour : 19/10/2006 Christophe Porteneuve Threads Principes Cycle de vie Création java.lang.thread
Plus en détailJADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.
: Java Agent DEvelopment framework Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.fr Introduction à la plateforme JADE 1) Modèle d agent 2) Services 3) Norme FIPA
Plus en détailLicence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...
Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez
Plus en détailLa persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1
La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1 Plan 1. Généralités sur la persistance des données dans les applications 2. La connection
Plus en détail[APPLICATON REPARTIE DE VENTE AUX ENCHERES]
2012 Polytech Nice- Sophia El Hajji Khalil Yousfi Hichem SI4 - Log [APPLICATON REPARTIE DE VENTE AUX ENCHERES] Sommaire Architecture de l application... 3 Le Serveur... 3 Le Client... 4 Passage en CORBA...
Plus en détailProjet gestion d'objets dupliqués
Projet gestion d'objets dupliqués Daniel Hagimont Daniel.Hagimont@enseeiht.fr 1 Projet Service de gestion d'objets dupliqués Mise en cohérence lors de la prise d'un verrou sur un objet Pas de verrous imbriqués
Plus en détailJava RMI. Arnaud Labourel Courriel: arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 8 mars 2011
Java RMI Arnaud Labourel Courriel: arnaud.labourel@lif.univ-mrs.fr Université de Provence 8 mars 2011 Arnaud Labourel (Université de Provence) Java RMI 8 mars 2011 1 / 58 Web services Services par le réseau
Plus en détailInfo0604 Programmation multi-threadée. Cours 5. Programmation multi-threadée en Java
Info0604 Programmation multi-threadée Cours 5 Programmation multi-threadée en Java Pierre Delisle Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique 18 février 2015 Plan
Plus en détailIntroduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza
Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza Avant de commencer à travailler avec le produit, il est nécessaire de comprendre, à un haut niveau, les problèmes en réponse desquels l outil a été
Plus en détailModule.NET 3 Les Assemblys.NET
Module.NET Chapitre 3 Les Assemblys.NET 2011/2012 Page 1 sur 13 Contenu Cours... 3 3.1 - Définition d un assembly.net... 3 3.2 - Private assembly ou assembly privé.... 3 3.3 - Shared assembly ou assembly
Plus en détailFacultés Universitaires Notre-Dame de la Paix. Conception et Programmation Orientées- Object
Facultés Universitaires Notre-Dame de la Paix Conception et Programmation Orientées- Object 2008-2009 RÉSUMÉ PRATIQUE... 4 CLASSE OBJET... 4 NOTION D HÉRITAGE... 4 LE POLYMORPHISME... 5 LES CLASSES ABSTRAITES...
Plus en détailProgrammation Objet Java Correction
INSA - 4 AE 2007 2008 Durée : 1H00 Contrôle Programmation Objet Java Correction Consignes Tous les documents sont autorisés, mais ils seront peu utiles. Indiquez vos nom et prénom sur chaque feuille. Le
Plus en détailUtiliser Java sans BlueJ
Conception objet en Java avec BlueJ une approche interactive Utiliser Java sans BlueJ Michael Kölling version française: Patrice Moreaux Rédigé avec 1.0 Conception objet en Java avec BlueJ une approche
Plus en détailLES NOUVEAUTES DE COST AND PROFITABILITY MANAGEMENT 8.1
LES NOUVEAUTES DE COST AND PROFITABILITY MANAGEMENT 8.1 SAS Cost and Profitability Management, également appelé CPM (ou C&P), est le nouveau nom de la solution SAS Activity-Based Management. Cette version
Plus en détailPaginer les données côté serveur, mettre en cache côté client
Paginer les données côté serveur, mettre en cache côté client Vous voulez sélectionner des lignes dans une table, mais celle-ci comporte trop de lignes pour qu il soit réaliste de les ramener en une seule
Plus en détailPackage Java.util Classe générique
Package Java.util Classe générique 1 Classe Vector La taille est dynamique: dès qu un tableau vectoriel est plein, sa taille est doublée, triplée, etc. automatiquement Les cases sont de type Object add(object
Plus en détailPrésentation de Java. Olivier de Pertat IT GROUP
Présentation de Java Olivier de Pertat IT GROUP Qu'est-ce que Java? Un langage de programmation orienté objets Une architecture de Virtual Machine Un ensemble d'api variées Un ensemble d'outils : le Java
Plus en détailOracle Developer Suite 10g. Guide de l installation. Vista & Seven
TRAVAIL RÉALISÉ PAR ABED ABDERRAHMANE Oracle Developer Suite 10g Guide de l installation 10g Release 2 (10.1.2) pour Windows Vista & Seven www.oraweb.ca Page 1 TABLE DES MATIÈRES : PARTIE 1 : CONCEPTS
Plus en détailProgrammation Par Objets
Programmation Par Objets Structures de données package java.util B. Carré Polytech Lille 1 Tableaux et structures de données Tableaux «Objets» taille fixe type des éléments : primitif (homogène) ou objets
Plus en détailLambda! Rémi Forax Univ Paris-Est Marne-la-Vallée
Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée forax at univ-mlv dot fr - ParisJUG Java.next() - Mars 2012 What Else? Lambda == Inner class? Java a des lambdas depuis la version 1.1 Exemple utilisant
Plus en détailArgument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données
EARTH et Threaded-C: Éléments clés du manuel de références de Threaded-C Bref historique de EARTH et Threaded-C Ancêtres de l architecture EARTH: Slide 1 Machine à flux de données statique de J.B. Dennis
Plus en détailDéveloppement Logiciel
Développement Logiciel Éxamen session 1-2012-2013 (Vendedi 25 mai, 9h-11h) Seuls les documents liés directement au cours sont autorisés (comme dit sur le site) : sujets de TD, notes de cours, notes personnelles
Plus en détailCompte Rendu d intégration d application
ISMA 3EME ANNEE Compte Rendu d intégration d application Compte Rendu Final Maxime ESCOURBIAC Jean-Christophe SEPTIER 19/12/2011 Table des matières Table des matières... 1 Introduction... 3 1. Le SGBD:...
Plus en détailOpenPaaS Le réseau social d'entreprise
OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3
Plus en détailTP3. Mail. Attention aux fausses manoeuvres lors de ce TP vous pouvez endommager votre mail sur ouindose.
Université Paris 7 M2 II Protocole Internet TP3 Mail Attention aux fausses manoeuvres lors de ce TP vous pouvez endommager votre mail sur ouindose. 1 Protocole SMTP 1. Le protocole SMTP est définit dans
Plus en détailConception de serveurs d'applications ouverts
Conception de serveurs d'applications ouverts Stéphane Frénot 3 Un modèle d'exécution standard Application Stéphane Frénot 4 1 Répartition "horizontale" d'une application Application de Présentation Application
Plus en détailÉtude de l interopérabilité de deux langages de programmation basée sur la machine virtuelle de Java
Université Catholique de Louvain Faculté des Sciences Appliquées Département d Ingénierie Informatique Étude de l interopérabilité de deux langages de programmation basée sur la machine virtuelle de Java
Plus en détailPage 1 sur 5 TP3. Thèmes du TP : l la classe Object. l Vector<T> l tutorial Interfaces. l Stack<T>
Page 1 sur 5 TP3 Lectures préalables : l Java_II l tutorial Interfaces Thèmes du TP : l la classe Object l Vector l Stack Une pile d'objects Les éléments de la classe Pile sont maintenant des instances
Plus en détailLa JVM. La machine virtuelle Java. La JVM. La JVM
La machine virtuelle Java Historique et rappels Organisation mémoire de la JVM Le garbage collector Le bytecode, la machine à pile. Les threads Suivi, tracé, optimisation d un programme Java JVM embarquées
Plus en détailJava au cœur de la base de données Oracle
32 Tips&techniques Philippe Daucourt, HEG Haute école de gestion Arc Java au cœur de la base de données Oracle Depuis la version 8i, Oracle embarque une machine virtuelle Java (JVM) au cœur de sa base
Plus en détailJava Licence professionnelle CISII, 2009-2010
Java Licence professionnelle CISII, 2009-2010 Cours 6 : le paquetage (package) Cours inspiré des cours de Richard Grin, Antoine Tabbone et Hazel Everett 1 Définition - Les classes Java sont regroupées
Plus en détailTD3: tableaux avancées, première classe et chaînes
TD3: tableaux avancées, première classe et chaînes de caractères 1 Lestableaux 1.1 Élémentsthéoriques Déclaration des tableaux Pour la déclaration des tableaux, deux notations sont possibles. La première
Plus en détailArchitecture Orientée Service, JSON et API REST
UPMC 3 février 2015 Précedemment, en LI328 Architecture générale du projet Programmation serveur Servlet/TOMCAT Aujourd hui Quelques mots sur les SOA API - REST Le format JSON API - REST et Servlet API
Plus en détail2 Chapitre 1 Introduction
1 Introduction Ce livre présente les Enterprise JavaBeans 2.0 et 1.1 qui constituent la troisième et la deuxième version de la spécification des Enterprise JavaBeans. Tout comme la plate-forme Java a révolutionné
Plus en détailTP1 : Initiation à Java et Eclipse
TP1 : Initiation à Java et Eclipse 1 I. Objectif du TP TP1 : Initiation à Java et Eclipse Programmation Mobile Initiation à l environnement Eclipse et aux notions de base du langage Java. II. Environnement
Plus en détailPour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère
L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la
Plus en détailChapitre VI- La validation de la composition.
Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions
Plus en détailProgrammation Réseau. Sécurité Java. Jean-Baptiste.Yunes@univ-paris-diderot.fr. UFR Informatique 2012-2013. jeudi 4 avril 13
Programmation Réseau Sécurité Java Jean-Baptiste.Yunes@univ-paris-diderot.fr UFR Informatique 2012-2013 Java Sécurité? différentes sécurités disponibles et contrôlables intégrité contrôle d accès signature/authentification/cryptographie
Plus en détailExceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;
CNAM NFP121 TP 10 19/11/2013 (Séance 5) Objectif Manipuler les exceptions ; 1 Entrées/sorties Exercice 1 : Lire un entier à partir du clavier Ajouter une méthode readint(string message) dans la classe
Plus en détail