SlideShare une entreprise Scribd logo
JAVA  Chapitre 1: Introduction au Langage Saloua Ben Yahia
Plan Historique Le JDK La langage JAVA Types d’applications Java Caractéristiques API JAVA
1.Historique James Gosling (entré en 1984 chez Sun) WebRunner écrit en Oak : HotJava Une première version de Java ( 1.0 ) fut proposée en 1995 Une nouvelle version de Java ( 1.1) est apparue en décembre 1996 Java est fourni dans un JDK
Plan Historique Le JDK La langage JAVA Caractéristiques Types d’applications Java API JAVA
2. JDK environnement travail Java Le  Java Development Kit  (couramment abrégé en  JDK ) est Téléchargeable sur le web Contient tous les outils  nécessaires au  développement JAVA
2. JDK environnement travail Java Compilateur javac JVM  (exécuter) j ava API ou  Bibliothèque  de composants JAVA
2. JDK environnement travail Java Les composants primaires du JDK sont une sélection d'outils de programmation, incluant : javac – le compilateur,  jar – l'archiveur, qui met sous forme d'un paquetage unique l'ensemble des  fichiers class  en un  fichier JAR ,  javadoc – le générateur de documentation, qui génère automatiquement de la documentation à partir des commentaires du code source,  jdb – le débogueur,  L' environnement d'exécution Java  fait également partie du JDK. L’API ou bibliothèque
2. JDK environnement travail Java Un compilateur pour le langage java (javac) Une machine virtuelle (commande java) Une API (bibliothèque de composants) Un environnement de programmation : Logiciel de mise au point Outil de génération de la documentation Mini browser pour le développement des applets . . .
Plan Historique Le JDK La langage JAVA Types d’applications Java Caractéristiques API JAVA
3.Le language Java Java est un langage de programmation moderne développé par  Sun Microsystems .  Il ne faut surtout pas le confondre avec Javascript (petit langage de scripts utilisé sur les sites web), car Java n'a rien à voir.
3.Le language Java Java est un véritable langage de programmation ! Syntaxe proche de C++,  orienté objet,  d’une utilisation simple,  implémentant un maximum de sécurité,  il permet d’exécuter des programmes au travers d’une machine virtuelle.
3.Le language Java Il est fourni avec un ensemble de “packages” : les classes de base du JDK (Java Developper’s Toolkit) Sans ces classes de base, Java n’est rien. Elles fournissent les fonctionnalités de base (entrées/ sorties, réseau, etc...).  Le langage lui-même se trouve dans le package (ensemble de classes)  java. lang  !
3.Le language Java Java et l’internet Du fait de son fonctionnement au travers d’une machine virtuelle, Java est un langage “qui voyage”.
3.Le language Java Une de ses plus grandes forces est son excellente portabilité :  Une fois votre programme créé, il fonctionnera automatiquement sous Windows, Mac, Linux, etc.
Plan Historique Le JDK La langage JAVA Types d’applications Java Caractéristiques API JAVA
4.Types d’applications JAVA On peut faire de nombreuses sortes de programmes avec Java : des applications, sous forme de fenêtre ou de console;  des applets, qui sont des programmes Java incorporés à des pages web ;  des applications pour appareils mobiles, avec J2ME ;  et bien d'autres ! J2EE, JMF, J3D pour la 3D...
4.Types d’applications JAVA  Les applications autonomes
4.Types d’applications JAVA  Les applets
Plan Historique Le JDK La langage JAVA Types d’applications Java Caractéristiques API JAVA
5. Caractéristiques du langage Java 1. simple, 2. orienté objet, 3. distribué, 4. interprété, 5. robuste, 6. sûr, 7. indépendant de l’architecture (portable), 8. mobile, 9. performant  10. multithreadé, 11. dynamique, 12. exécuté au travers d’une machine virtuelle, ou d’un puce JavaOS 13. possédant une riche API : le JDK 14. véritable explosion depuis son lancement : nombreux produits commerciaux : IDEs, APIs spécialisées, etc...
5. Caractéristiques du langage  Basé sur C/C++, mais... pas de pointeurs, pas de structures ni de macros ( struct, typedef et #defines ), pas de gestion de la mémoire laissée au programmeur ( malloc()  et  free()  sont morts, paix à eurs âmes...) Sa syntaxe est proche de celle de C/C++ Java est un langage simple à prendre en main, mais en aucun cas limité il faut une certaine expérience avant de tirer parti au mieux de ses possibilités, et surtout de son API très riche.
5. Caractéristiques du langage  N’a-t-on rien perdu par rapport au C/C++ ? Non, les suppressions évoqués précédemment réduisent de moitié les erreurs les plus fréquentes du C et du C++. L’héritage multiple au sens courant a disparu, mais existe sous une forme différente grâce au concept d’”interfaces”. Java est-t-il un beau langage ? La notion de “beau” est subjective, mais oui, Java est un langage extrêmement agréable à programmer et permet dans certains cas de développer des applications beaucoup plus rapidement qu’avec d’autres langages.!
5. Caractéristiques du langage  Java est peu gourmand en mémoire La machine virtuelle n’a besoin que de 215k pour s’exécuter. Java dans une montre à quartz ? Oui, c’est possible
5. Caractéristiques du langage  Orienté objet Java reprend la technologie objet du C++ et y ajoute quelques améliorations.  Contrairement à C++, Java est complètement objet, ne demeurent que quelques types primitifs (int, char) hérités du C possèdant des “wrapper classes”.!
Distribué au travers des classes du JDK Java lui-même n’est pas distribué. En revanche, il est fourni avec un ensemble de classes qui intègrent une gestion plus ou moins transparente du réseau. Par exemple, il est possible, en quelques lignes de code, de récupérer un fichier au travers du protocole HTTP ou FTP, de programmer un serveur de socket pouvant accepter des connexions en parallèle, etc... Ce genre de programmation est aujourd’hui un des gros attraits de Java.
5. Caractéristiques du langage  Robuste Nombreuses vérifications à la compilation et à l’exécution Lors de la phase de compilation, Java s’assure qu’il n’y a aucun problème, que toutes les erreurs pouvant empêcher l’exécution du programme ont bien été traitées (ouverture d’un fichier inexistant ou accès mémoire en dehors des bornes d’un tableau par exemple). Cette vérification permet d’éviter qu’un problème grave ne corrompe la machine virtuelle ou le système qui l’exécute. N’oubliez pas que les programmes Java“voyagent” d’une machine à l’autre ! Vous ne voudriez pas qu’un programme arrive dans votre navigateur Web et plante votre machine !
5. Caractéristiques du langage  Robuste…suite Java fournit au travers de la machine virtuelle et du langage vérification de pointeur nul, vérification des bornes des tableaux, traitement très puissant des exceptions, vérification du byte code (pas de virus, très difficile de “cracker” des programmes compilés, etc...). hmmm... mais désassemblage assez facile avec la release 1.0 du JDK !
5. Caractéristiques du langage  Indépendant de l’architecture Indépendance au niveau des sources (JDK) et du Byte Code (machine virtuelle) Le compilateur Java du JDK ne fournit pas directement du code machine exécutable, il produit un code portable, du byte-code, interprétable par la machine virtuelle. Ce byte-code est indépendant de l’architecture. Chaque machine possédant une machine virtuelle peut l’exécuter. Actuellement Java peut être exécuté sous presque tous les Unix du marché, sous Windows 3.1/ 95/NT, sous MacOS, dans des Net Computers (NC) ou des systèmes embarqués possédant une puce JavaOS (téléphones portables, télévisions, etc...).
5. Caractéristiques du langage  Indépendant de l’architecture
5. Caractéristiques du langage  Indépendant de l’architecture Compilation directe possible (traduction C++ puis compilation aujourd’hui), mais adieu la transportabilité du code ! Performances quand même excellentes depuis l’arrivée des JITs (Just In Time compilers...) Compilation lors de la phase d’interprétation, compilation “au vol”. On approche la vitesse du C/C++ optimisé, mais on y est pas encore.
5. Caractéristiques du langage  Sûr : le vérificateur de byte-code Contrôle de tout code chargé avant instanciation pour exécution Le code Java est testé plusieurs fois avant d’être exécuté sur votre machine. Le code passe par un vérificateur de byte-code. Celuici teste le format des fragments de code et applique un algorithme qui détermine leur légalité. Un code légal ne modifie pas les pointeurs, ne viole pas les droits d’accès aux objets et ne tente pas d’altérer les objets ou les classes. Une application indépendante peut se permettre plus de choses qu’une application s’exécutant dans un navigateur Web (applet). Le class loader et le security manager sont différents dans les deux cas. Vérificateur de byte-code Le code ne cause aucun dépassement de capacité positif ou négatif de la pile opérande, les types de paramètres de tous les codes opération sont corrects, aucune conversion illégale de données (entiers en pointeurs, etc...), les accès aux objets sont légaux (publics, privés, protégés... nous y reviendrons!)
5. Caractéristiques du langage  Sûr : le Class Loader Les classes sont chargées dans un NameSpace indépendant et identifié en fonction de l’origine du code chargé Les classes sont, comme nous le verrons plus tard, le code de base servant à la construction par instanciation des objets utilisés par une application. Elles peuvent être chargées par le réseau (applets et classes développées par l’utilisateur) ou encore locales, liées à la machine virtuelle en cours d’utilisation. Le  Class Loader  participe donc à la sécurisation de Java en séparant les espaces-noms pour les classes locales et les classes provenant du réseau. Cela limite les possibilités de voir un virus ou une application “cheval de troie” envahir votre machine sans prévenir! Lorsqu’on a besoin d’une classe donnée, la recherche est effectuée en priorité parmi les classes locales. De cette manière, aucune classe importée ne peut se faire passer pour une classe système, même si elle en usurpe le nom. Quoique...
5. Caractéristiques du langage  Sûr : le Class Loader
 
5. Caractéristiques du langage  Sûr : le Class Loader Langage Java + Compilateur Limitation des erreurs byte-code Verifier Vérification du byte-code avant exécution Class Loader Chargement des classes dans un espace de noms fonction de sa provenance Security Manager Vérification pour l’accès aux ressources locales
5. Caractéristiques du langage  Le code Java est mobile Java intègre, au travers de son JDK, une interface commune permettant une compatibilité source totale entre les architectures De par son indépendance vis-à-vis de l’architecture, Java est par essence mobile. Il intègre cependant d’autres standards de mobilité afin de faciliter le développement d’applications portables. Par exemple, la longueur des types de base est toujours identique quelle que soit l’architecture utilisée, les codes des caractères sont partout les mêmes, le codage des mots de 16 ou 32 bits est le même (adieux big et little endian !), etc... De même, la librairie graphique, l’AWT (Abstract Window Toolkit) permet de développer des interfaces graphiques sans se préoccuper du système d’exploitation qui sera utilisé.
5. Caractéristiques du langage  Java est interprété La compilation produit du byte-code non lié à une plate-forme Celui-ci est interprété par une machine virtuelle Pas de phase d’édition de liens avec des librairies existantes, c’est un garant de la portabilité du langage.
5. Caractéristiques du langage  Java est interprété
Exécutable
5. Caractéristiques du langage Excellentes performances depuis peu Attention, le JDK proposé gratuitement par Sun est le plus lent du marché! Tout est écrit en Java (compilateur, machine virtuelle, etc...). Des produits infiniment plus performants, mais commerciaux sont disponibles chez différents développeurs. Par exemple : compilation de 2 millions de lignes/ seconde sur Pentium 133 avec Symantec Café. L’interpréteur est remplacé par un Just In Time Compiler (Solaris, nombreuses versions sous Windows 95/NT par Symantec, Microsoft, Borland, Netscape). 300.000 appels de méthodes/procédures par seconde sur un Sun Sparc 10 avec le JIT de Sun. Presque identique à du C/C++ natif équivalent
5. Caractéristiques du langage  Java est multithreadé Un Thread est une partie de code, un “flot d’instructions” s’exécutant en concurrence avec d’autres Threads dans un même processus L’utilisation du multithreading permet à un seul programme d’effectuer plusieurs activités simultanément. Les threads, parfois appelés “processus légers” permettent de développer des programmes multitâches de manière plus simple et performante qu’avec la programmation système classique (fork() et exec()...), dont le code est par ailleurs difficilement portable.
5. Caractéristiques du langage  Java est multithreadé   …suite
5. Caractéristiques du langage   Java est dynamique Un programme est constitué de plusieurs classes Lorsqu’une classe inconnue dans le programme est requise, on la recherche : 1. localement (dans le JDK local au navigateur web ou à la machine virtuelle) et ensuite si elle n’est pas trouvée... 2. à l’endroit d’où le programme a été chargé
5. Caractéristiques du langage   Java est dynamique…suite Java tire au maximum parti de la technologie objet, la machine virtuelle n’essaie pas de connecter tous les modules composant une application avant l’exécution (pas d’éditions de liens). Les classes de définition des objets sont chargées simultanément mais indépendamment, en fonction de leur besoin dans l’application. Si une application nécessite une classe non présente sur la machine qui l’exécute, Java ira la chercher à l’endroit d’où l’application provient.
Plan Historique Le JDK La langage JAVA Types d’applications Java Caractéristiques API JAVA
6. API  Java et le réseau
6. API  RMI
6. API CORBA
6. API  Accès aux Bases de données

Contenu connexe

Tendances

POO Java Introduction
POO Java IntroductionPOO Java Introduction
POO Java Introduction
Mouna Torjmen
 
Tutoriel java
Tutoriel javaTutoriel java
Tutoriel java
Kalilou DIABY
 
Support POO Java Deuxième Partie
Support POO Java Deuxième PartieSupport POO Java Deuxième Partie
Support POO Java Deuxième Partie
ENSET, Université Hassan II Casablanca
 
Objet Direct Formation Java pour devenir autonome
Objet Direct Formation Java pour devenir autonomeObjet Direct Formation Java pour devenir autonome
Objet Direct Formation Java pour devenir autonome
formationobjetdirect
 
Introduction a Java
Introduction a JavaIntroduction a Java
Introduction a Java
Wiki Info Systeme
 
Language java
Language javaLanguage java
Language java
LAMINE KACIMI
 
Architecture de la jvm(1ere Partie) - JVM Architecture (First Part)
Architecture de la jvm(1ere Partie) - JVM Architecture (First Part)Architecture de la jvm(1ere Partie) - JVM Architecture (First Part)
Architecture de la jvm(1ere Partie) - JVM Architecture (First Part)
Michael Njong
 
Tp1 - Initiation à Java-Eclipse
Tp1 - Initiation à Java-EclipseTp1 - Initiation à Java-Eclipse
Tp1 - Initiation à Java-Eclipse
Lilia Sfaxi
 
Initiation à Android
Initiation à AndroidInitiation à Android
Initiation à Android
Lilia Sfaxi
 
Ces outils qui vous font gagner du temps
Ces outils qui vous font gagner du tempsCes outils qui vous font gagner du temps
Ces outils qui vous font gagner du temps
Antoine Rey
 
Programmation Java
Programmation JavaProgrammation Java
Programmation Java
Mohamed Lahby
 
Java vs .Net
Java vs .NetJava vs .Net
Java vs .Net
Algeria JUG
 
PHP 5 pour les développeurs Java
PHP 5 pour les développeurs JavaPHP 5 pour les développeurs Java
PHP 5 pour les développeurs Java
Mehdi EL KRARI
 
Déploiement d'applications Java EE
Déploiement d'applications Java EEDéploiement d'applications Java EE
Déploiement d'applications Java EE
javalabsf
 
Back to the future of java (from 8 to 11 and beyond)
Back to the future of java (from 8 to 11 and beyond)Back to the future of java (from 8 to 11 and beyond)
Back to the future of java (from 8 to 11 and beyond)
Jérôme Tamborini
 
Une introduction à Javascript et ECMAScript 6
Une introduction à Javascript et ECMAScript 6Une introduction à Javascript et ECMAScript 6
Une introduction à Javascript et ECMAScript 6
Jean-Baptiste Vigneron
 
Tp1 - Eclipse
Tp1 - EclipseTp1 - Eclipse
Tp1 - Eclipse
Lilia Sfaxi
 
Voxxeddays lux 2018 apres java 8, java 9 et 10
Voxxeddays lux 2018 apres java 8, java 9 et 10Voxxeddays lux 2018 apres java 8, java 9 et 10
Voxxeddays lux 2018 apres java 8, java 9 et 10
Jean-Michel Doudoux
 

Tendances (20)

POO Java Introduction
POO Java IntroductionPOO Java Introduction
POO Java Introduction
 
Tutoriel java
Tutoriel javaTutoriel java
Tutoriel java
 
Support POO Java Deuxième Partie
Support POO Java Deuxième PartieSupport POO Java Deuxième Partie
Support POO Java Deuxième Partie
 
Objet Direct Formation Java pour devenir autonome
Objet Direct Formation Java pour devenir autonomeObjet Direct Formation Java pour devenir autonome
Objet Direct Formation Java pour devenir autonome
 
Introduction a Java
Introduction a JavaIntroduction a Java
Introduction a Java
 
Language java
Language javaLanguage java
Language java
 
Architecture de la jvm(1ere Partie) - JVM Architecture (First Part)
Architecture de la jvm(1ere Partie) - JVM Architecture (First Part)Architecture de la jvm(1ere Partie) - JVM Architecture (First Part)
Architecture de la jvm(1ere Partie) - JVM Architecture (First Part)
 
Cours java
Cours javaCours java
Cours java
 
Tp1 - Initiation à Java-Eclipse
Tp1 - Initiation à Java-EclipseTp1 - Initiation à Java-Eclipse
Tp1 - Initiation à Java-Eclipse
 
Initiation à Android
Initiation à AndroidInitiation à Android
Initiation à Android
 
Ces outils qui vous font gagner du temps
Ces outils qui vous font gagner du tempsCes outils qui vous font gagner du temps
Ces outils qui vous font gagner du temps
 
Programmation Java
Programmation JavaProgrammation Java
Programmation Java
 
Java vs .Net
Java vs .NetJava vs .Net
Java vs .Net
 
PHP 5 pour les développeurs Java
PHP 5 pour les développeurs JavaPHP 5 pour les développeurs Java
PHP 5 pour les développeurs Java
 
Presentation JPA
Presentation JPAPresentation JPA
Presentation JPA
 
Déploiement d'applications Java EE
Déploiement d'applications Java EEDéploiement d'applications Java EE
Déploiement d'applications Java EE
 
Back to the future of java (from 8 to 11 and beyond)
Back to the future of java (from 8 to 11 and beyond)Back to the future of java (from 8 to 11 and beyond)
Back to the future of java (from 8 to 11 and beyond)
 
Une introduction à Javascript et ECMAScript 6
Une introduction à Javascript et ECMAScript 6Une introduction à Javascript et ECMAScript 6
Une introduction à Javascript et ECMAScript 6
 
Tp1 - Eclipse
Tp1 - EclipseTp1 - Eclipse
Tp1 - Eclipse
 
Voxxeddays lux 2018 apres java 8, java 9 et 10
Voxxeddays lux 2018 apres java 8, java 9 et 10Voxxeddays lux 2018 apres java 8, java 9 et 10
Voxxeddays lux 2018 apres java 8, java 9 et 10
 

En vedette

1 hojas de registro cualidades físicas y sus métodos 2
1 hojas de registro cualidades físicas y sus métodos 21 hojas de registro cualidades físicas y sus métodos 2
1 hojas de registro cualidades físicas y sus métodos 2
Garcia-cervigon
 
Le nouveau quartier générale des témoins de jéhovah
Le nouveau quartier générale des témoins de jéhovahLe nouveau quartier générale des témoins de jéhovah
Le nouveau quartier générale des témoins de jéhovah
ourbothy
 
Roar spansh version maria stefany montoya
Roar spansh version maria stefany montoyaRoar spansh version maria stefany montoya
Roar spansh version maria stefany montoya
Stefany Ramón
 
Seguridad informatica
Seguridad informaticaSeguridad informatica
Seguridad informatica
JamFaVelasco
 
Resultados de la Evaluación de la satisfacción del servicio de Atención al Ci...
Resultados de la Evaluación de la satisfacción del servicio de Atención al Ci...Resultados de la Evaluación de la satisfacción del servicio de Atención al Ci...
Resultados de la Evaluación de la satisfacción del servicio de Atención al Ci...
cvpbogota
 
Facebook
FacebookFacebook
Facebook
ananvrr
 
Motivación para el exito
Motivación para el exitoMotivación para el exito
Motivación para el exito
zamicevallos
 
veronica mayanquer
veronica mayanquer veronica mayanquer
veronica mayanquer
Verito Dindap
 
Deber slideshare
Deber slideshareDeber slideshare
Deber slideshare
Caro Palomeque Palome
 
Educacion vial
Educacion vial Educacion vial
Educacion vial
hellen1976
 
Pinturas decores estucos
Pinturas decores estucosPinturas decores estucos
Pinturas decores estucos
ghostito
 
Presentacion Una ciudad segura como ciudad justa y equitativa
Presentacion Una ciudad segura como ciudad justa y equitativaPresentacion Una ciudad segura como ciudad justa y equitativa
Presentacion Una ciudad segura como ciudad justa y equitativa
cvpbogota
 
Mitos acerca de la matemática
Mitos acerca de la matemáticaMitos acerca de la matemática
Mitos acerca de la matemática
asociacionretodeamor
 
La publicidad
La publicidadLa publicidad
La publicidad
egomezo
 
Presentació pràcticum II Psicopedagogia
Presentació pràcticum II PsicopedagogiaPresentació pràcticum II Psicopedagogia
Presentació pràcticum II Psicopedagogia
icirianavarro
 
Informe final auditoria interna de calidad
Informe final auditoria interna de calidadInforme final auditoria interna de calidad
Informe final auditoria interna de calidad
universidad cesar vallejo
 
UTE-FORTALECER LAS CAPACIDADES Y POTENCIALIDADES DE LA CIUDADANÍA
UTE-FORTALECER LAS CAPACIDADES Y POTENCIALIDADES DE LA CIUDADANÍAUTE-FORTALECER LAS CAPACIDADES Y POTENCIALIDADES DE LA CIUDADANÍA
UTE-FORTALECER LAS CAPACIDADES Y POTENCIALIDADES DE LA CIUDADANÍA
algueleles
 
Calidad en el servicio (1)
Calidad en el servicio (1)Calidad en el servicio (1)
Calidad en el servicio (1)
Erika Benitez
 
Trabajo de computacion
Trabajo de computacionTrabajo de computacion
Trabajo de computacion
Marco Bautista
 
Histoire de la chirurgie
Histoire de la chirurgieHistoire de la chirurgie
Histoire de la chirurgie
sfa_angeiologie
 

En vedette (20)

1 hojas de registro cualidades físicas y sus métodos 2
1 hojas de registro cualidades físicas y sus métodos 21 hojas de registro cualidades físicas y sus métodos 2
1 hojas de registro cualidades físicas y sus métodos 2
 
Le nouveau quartier générale des témoins de jéhovah
Le nouveau quartier générale des témoins de jéhovahLe nouveau quartier générale des témoins de jéhovah
Le nouveau quartier générale des témoins de jéhovah
 
Roar spansh version maria stefany montoya
Roar spansh version maria stefany montoyaRoar spansh version maria stefany montoya
Roar spansh version maria stefany montoya
 
Seguridad informatica
Seguridad informaticaSeguridad informatica
Seguridad informatica
 
Resultados de la Evaluación de la satisfacción del servicio de Atención al Ci...
Resultados de la Evaluación de la satisfacción del servicio de Atención al Ci...Resultados de la Evaluación de la satisfacción del servicio de Atención al Ci...
Resultados de la Evaluación de la satisfacción del servicio de Atención al Ci...
 
Facebook
FacebookFacebook
Facebook
 
Motivación para el exito
Motivación para el exitoMotivación para el exito
Motivación para el exito
 
veronica mayanquer
veronica mayanquer veronica mayanquer
veronica mayanquer
 
Deber slideshare
Deber slideshareDeber slideshare
Deber slideshare
 
Educacion vial
Educacion vial Educacion vial
Educacion vial
 
Pinturas decores estucos
Pinturas decores estucosPinturas decores estucos
Pinturas decores estucos
 
Presentacion Una ciudad segura como ciudad justa y equitativa
Presentacion Una ciudad segura como ciudad justa y equitativaPresentacion Una ciudad segura como ciudad justa y equitativa
Presentacion Una ciudad segura como ciudad justa y equitativa
 
Mitos acerca de la matemática
Mitos acerca de la matemáticaMitos acerca de la matemática
Mitos acerca de la matemática
 
La publicidad
La publicidadLa publicidad
La publicidad
 
Presentació pràcticum II Psicopedagogia
Presentació pràcticum II PsicopedagogiaPresentació pràcticum II Psicopedagogia
Presentació pràcticum II Psicopedagogia
 
Informe final auditoria interna de calidad
Informe final auditoria interna de calidadInforme final auditoria interna de calidad
Informe final auditoria interna de calidad
 
UTE-FORTALECER LAS CAPACIDADES Y POTENCIALIDADES DE LA CIUDADANÍA
UTE-FORTALECER LAS CAPACIDADES Y POTENCIALIDADES DE LA CIUDADANÍAUTE-FORTALECER LAS CAPACIDADES Y POTENCIALIDADES DE LA CIUDADANÍA
UTE-FORTALECER LAS CAPACIDADES Y POTENCIALIDADES DE LA CIUDADANÍA
 
Calidad en el servicio (1)
Calidad en el servicio (1)Calidad en el servicio (1)
Calidad en el servicio (1)
 
Trabajo de computacion
Trabajo de computacionTrabajo de computacion
Trabajo de computacion
 
Histoire de la chirurgie
Histoire de la chirurgieHistoire de la chirurgie
Histoire de la chirurgie
 

Similaire à Java uik-chap1-intro java

Introduction à Java
Introduction à JavaIntroduction à Java
Introduction à Java
Ahmed EL ATARI
 
JAVA Chapitre2
JAVA Chapitre2JAVA Chapitre2
JAVA Chapitre2
Mohamed Ferchichi
 
Java & Etat de l'art
Java & Etat de l'artJava & Etat de l'art
Java & Etat de l'art
Ines Ouaz
 
JavaCours1.ppt
JavaCours1.pptJavaCours1.ppt
JavaCours1.ppt
ssuser07fc08
 
Support POO Java première partie
Support POO Java première partieSupport POO Java première partie
Support POO Java première partie
ENSET, Université Hassan II Casablanca
 
1-supportpoojavapremirepartie-140408132307-phpapp01.pptx
1-supportpoojavapremirepartie-140408132307-phpapp01.pptx1-supportpoojavapremirepartie-140408132307-phpapp01.pptx
1-supportpoojavapremirepartie-140408132307-phpapp01.pptx
RihabBENLAMINE
 
Java j2ee
Java j2eeJava j2ee
Java j2ee
izdihara
 
Javaoop
JavaoopJavaoop
Javaoop
javaexpert
 
C# 5 versus Java 8... Quand C++ 11 s'invite à la fête
C# 5 versus Java 8... Quand C++ 11 s'invite à la fêteC# 5 versus Java 8... Quand C++ 11 s'invite à la fête
C# 5 versus Java 8... Quand C++ 11 s'invite à la fête
Fabrice JEAN-FRANCOIS
 
Introduction àJava
Introduction àJavaIntroduction àJava
Introduction àJava
Christophe Vaudry
 
2 - java : caractéristiques de java
2 - java : caractéristiques de java2 - java : caractéristiques de java
2 - java : caractéristiques de java
opentuto
 
0251-formation-java-programmation-objet.pdf
0251-formation-java-programmation-objet.pdf0251-formation-java-programmation-objet.pdf
0251-formation-java-programmation-objet.pdf
Ombotimbe Salifou
 
Seance_1_cours_introduction_java_Copie.pptx
Seance_1_cours_introduction_java_Copie.pptxSeance_1_cours_introduction_java_Copie.pptx
Seance_1_cours_introduction_java_Copie.pptx
RihabBENLAMINE
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !
VISEO
 
Gwt oxiane-novae-lr
Gwt oxiane-novae-lrGwt oxiane-novae-lr
Gwt oxiane-novae-lr
oxmed
 
Devoxx 2017 : toutes les actualités technologiques à surveiller !
Devoxx 2017 : toutes les actualités technologiques à surveiller !Devoxx 2017 : toutes les actualités technologiques à surveiller !
Devoxx 2017 : toutes les actualités technologiques à surveiller !
Société ELOSI
 
Architecture .net
Architecture  .netArchitecture  .net

Similaire à Java uik-chap1-intro java (20)

Introduction à Java
Introduction à JavaIntroduction à Java
Introduction à Java
 
JAVA Chapitre2
JAVA Chapitre2JAVA Chapitre2
JAVA Chapitre2
 
Java & Etat de l'art
Java & Etat de l'artJava & Etat de l'art
Java & Etat de l'art
 
Base11
Base11Base11
Base11
 
JavaCours1.ppt
JavaCours1.pptJavaCours1.ppt
JavaCours1.ppt
 
Support POO Java première partie
Support POO Java première partieSupport POO Java première partie
Support POO Java première partie
 
1-supportpoojavapremirepartie-140408132307-phpapp01.pptx
1-supportpoojavapremirepartie-140408132307-phpapp01.pptx1-supportpoojavapremirepartie-140408132307-phpapp01.pptx
1-supportpoojavapremirepartie-140408132307-phpapp01.pptx
 
Java j2ee
Java j2eeJava j2ee
Java j2ee
 
Javaoop
JavaoopJavaoop
Javaoop
 
Java vs .Net
Java vs .NetJava vs .Net
Java vs .Net
 
Chapitre 1
Chapitre 1Chapitre 1
Chapitre 1
 
C# 5 versus Java 8... Quand C++ 11 s'invite à la fête
C# 5 versus Java 8... Quand C++ 11 s'invite à la fêteC# 5 versus Java 8... Quand C++ 11 s'invite à la fête
C# 5 versus Java 8... Quand C++ 11 s'invite à la fête
 
Introduction àJava
Introduction àJavaIntroduction àJava
Introduction àJava
 
2 - java : caractéristiques de java
2 - java : caractéristiques de java2 - java : caractéristiques de java
2 - java : caractéristiques de java
 
0251-formation-java-programmation-objet.pdf
0251-formation-java-programmation-objet.pdf0251-formation-java-programmation-objet.pdf
0251-formation-java-programmation-objet.pdf
 
Seance_1_cours_introduction_java_Copie.pptx
Seance_1_cours_introduction_java_Copie.pptxSeance_1_cours_introduction_java_Copie.pptx
Seance_1_cours_introduction_java_Copie.pptx
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !
 
Gwt oxiane-novae-lr
Gwt oxiane-novae-lrGwt oxiane-novae-lr
Gwt oxiane-novae-lr
 
Devoxx 2017 : toutes les actualités technologiques à surveiller !
Devoxx 2017 : toutes les actualités technologiques à surveiller !Devoxx 2017 : toutes les actualités technologiques à surveiller !
Devoxx 2017 : toutes les actualités technologiques à surveiller !
 
Architecture .net
Architecture  .netArchitecture  .net
Architecture .net
 

Plus de Amel Morchdi

Cours réseaux informatiques ia2
Cours réseaux informatiques  ia2Cours réseaux informatiques  ia2
Cours réseaux informatiques ia2
Amel Morchdi
 
Cours r _seaux__chapitre_5
Cours r _seaux__chapitre_5Cours r _seaux__chapitre_5
Cours r _seaux__chapitre_5
Amel Morchdi
 
Cours réseaux chap3et4
Cours réseaux chap3et4Cours réseaux chap3et4
Cours réseaux chap3et4
Amel Morchdi
 
Chapitre 2 poo classe objet c++
Chapitre 2 poo classe objet c++Chapitre 2 poo classe objet c++
Chapitre 2 poo classe objet c++
Amel Morchdi
 
Chapitre 2 poo classe objet c++
Chapitre 2 poo classe objet c++Chapitre 2 poo classe objet c++
Chapitre 2 poo classe objet c++
Amel Morchdi
 
Jeux d instruction du 6809
Jeux d instruction du 6809Jeux d instruction du 6809
Jeux d instruction du 6809
Amel Morchdi
 
Cours r _seaux_chap1et2
Cours r _seaux_chap1et2Cours r _seaux_chap1et2
Cours r _seaux_chap1et2
Amel Morchdi
 
Cours réseaux informatiques iia2
Cours réseaux informatiques  iia2Cours réseaux informatiques  iia2
Cours réseaux informatiques iia2
Amel Morchdi
 
Exam seiia2gl20111
Exam seiia2gl20111Exam seiia2gl20111
Exam seiia2gl20111
Amel Morchdi
 
Attachments 2011 12_19
Attachments 2011 12_19Attachments 2011 12_19
Attachments 2011 12_19
Amel Morchdi
 
Java uik-chap4-poo3
Java uik-chap4-poo3Java uik-chap4-poo3
Java uik-chap4-poo3
Amel Morchdi
 
Java uik-chap3-bases java
Java uik-chap3-bases javaJava uik-chap3-bases java
Java uik-chap3-bases java
Amel Morchdi
 
Td serie a-abstract-cast-heritage
Td serie a-abstract-cast-heritageTd serie a-abstract-cast-heritage
Td serie a-abstract-cast-heritage
Amel Morchdi
 
Seria 3 iia2 2011_2012
Seria 3 iia2 2011_2012Seria 3 iia2 2011_2012
Seria 3 iia2 2011_2012
Amel Morchdi
 
Attachments 2011 12_19
Attachments 2011 12_19Attachments 2011 12_19
Attachments 2011 12_19
Amel Morchdi
 
Java uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 javaJava uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 java
Amel Morchdi
 

Plus de Amel Morchdi (20)

Cours réseaux informatiques ia2
Cours réseaux informatiques  ia2Cours réseaux informatiques  ia2
Cours réseaux informatiques ia2
 
Cours r _seaux__chapitre_5
Cours r _seaux__chapitre_5Cours r _seaux__chapitre_5
Cours r _seaux__chapitre_5
 
Cours réseaux chap3et4
Cours réseaux chap3et4Cours réseaux chap3et4
Cours réseaux chap3et4
 
Chapitre 2 poo classe objet c++
Chapitre 2 poo classe objet c++Chapitre 2 poo classe objet c++
Chapitre 2 poo classe objet c++
 
Chapitre 2 poo classe objet c++
Chapitre 2 poo classe objet c++Chapitre 2 poo classe objet c++
Chapitre 2 poo classe objet c++
 
Jeux d instruction du 6809
Jeux d instruction du 6809Jeux d instruction du 6809
Jeux d instruction du 6809
 
Cours r _seaux_chap1et2
Cours r _seaux_chap1et2Cours r _seaux_chap1et2
Cours r _seaux_chap1et2
 
Cours réseaux informatiques iia2
Cours réseaux informatiques  iia2Cours réseaux informatiques  iia2
Cours réseaux informatiques iia2
 
Corrections td4
Corrections td4Corrections td4
Corrections td4
 
Cours s epart2
Cours s epart2Cours s epart2
Cours s epart2
 
Exam seiia2gl20111
Exam seiia2gl20111Exam seiia2gl20111
Exam seiia2gl20111
 
Attachments 2011 12_19
Attachments 2011 12_19Attachments 2011 12_19
Attachments 2011 12_19
 
Java uik-chap4-poo3
Java uik-chap4-poo3Java uik-chap4-poo3
Java uik-chap4-poo3
 
Java uik-chap3-bases java
Java uik-chap3-bases javaJava uik-chap3-bases java
Java uik-chap3-bases java
 
Td serie a-abstract-cast-heritage
Td serie a-abstract-cast-heritageTd serie a-abstract-cast-heritage
Td serie a-abstract-cast-heritage
 
Seria 3 iia2 2011_2012
Seria 3 iia2 2011_2012Seria 3 iia2 2011_2012
Seria 3 iia2 2011_2012
 
Attachments 2011 12_19
Attachments 2011 12_19Attachments 2011 12_19
Attachments 2011 12_19
 
Cours s epartie2
Cours s epartie2Cours s epartie2
Cours s epartie2
 
Cours s epartie2
Cours s epartie2Cours s epartie2
Cours s epartie2
 
Java uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 javaJava uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 java
 

Java uik-chap1-intro java

  • 1. JAVA Chapitre 1: Introduction au Langage Saloua Ben Yahia
  • 2. Plan Historique Le JDK La langage JAVA Types d’applications Java Caractéristiques API JAVA
  • 3. 1.Historique James Gosling (entré en 1984 chez Sun) WebRunner écrit en Oak : HotJava Une première version de Java ( 1.0 ) fut proposée en 1995 Une nouvelle version de Java ( 1.1) est apparue en décembre 1996 Java est fourni dans un JDK
  • 4. Plan Historique Le JDK La langage JAVA Caractéristiques Types d’applications Java API JAVA
  • 5. 2. JDK environnement travail Java Le Java Development Kit (couramment abrégé en JDK ) est Téléchargeable sur le web Contient tous les outils nécessaires au développement JAVA
  • 6. 2. JDK environnement travail Java Compilateur javac JVM (exécuter) j ava API ou Bibliothèque de composants JAVA
  • 7. 2. JDK environnement travail Java Les composants primaires du JDK sont une sélection d'outils de programmation, incluant : javac – le compilateur, jar – l'archiveur, qui met sous forme d'un paquetage unique l'ensemble des fichiers class en un fichier JAR , javadoc – le générateur de documentation, qui génère automatiquement de la documentation à partir des commentaires du code source, jdb – le débogueur, L' environnement d'exécution Java fait également partie du JDK. L’API ou bibliothèque
  • 8. 2. JDK environnement travail Java Un compilateur pour le langage java (javac) Une machine virtuelle (commande java) Une API (bibliothèque de composants) Un environnement de programmation : Logiciel de mise au point Outil de génération de la documentation Mini browser pour le développement des applets . . .
  • 9. Plan Historique Le JDK La langage JAVA Types d’applications Java Caractéristiques API JAVA
  • 10. 3.Le language Java Java est un langage de programmation moderne développé par Sun Microsystems . Il ne faut surtout pas le confondre avec Javascript (petit langage de scripts utilisé sur les sites web), car Java n'a rien à voir.
  • 11. 3.Le language Java Java est un véritable langage de programmation ! Syntaxe proche de C++, orienté objet, d’une utilisation simple, implémentant un maximum de sécurité, il permet d’exécuter des programmes au travers d’une machine virtuelle.
  • 12. 3.Le language Java Il est fourni avec un ensemble de “packages” : les classes de base du JDK (Java Developper’s Toolkit) Sans ces classes de base, Java n’est rien. Elles fournissent les fonctionnalités de base (entrées/ sorties, réseau, etc...). Le langage lui-même se trouve dans le package (ensemble de classes) java. lang !
  • 13. 3.Le language Java Java et l’internet Du fait de son fonctionnement au travers d’une machine virtuelle, Java est un langage “qui voyage”.
  • 14. 3.Le language Java Une de ses plus grandes forces est son excellente portabilité : Une fois votre programme créé, il fonctionnera automatiquement sous Windows, Mac, Linux, etc.
  • 15. Plan Historique Le JDK La langage JAVA Types d’applications Java Caractéristiques API JAVA
  • 16. 4.Types d’applications JAVA On peut faire de nombreuses sortes de programmes avec Java : des applications, sous forme de fenêtre ou de console; des applets, qui sont des programmes Java incorporés à des pages web ; des applications pour appareils mobiles, avec J2ME ; et bien d'autres ! J2EE, JMF, J3D pour la 3D...
  • 17. 4.Types d’applications JAVA Les applications autonomes
  • 19. Plan Historique Le JDK La langage JAVA Types d’applications Java Caractéristiques API JAVA
  • 20. 5. Caractéristiques du langage Java 1. simple, 2. orienté objet, 3. distribué, 4. interprété, 5. robuste, 6. sûr, 7. indépendant de l’architecture (portable), 8. mobile, 9. performant 10. multithreadé, 11. dynamique, 12. exécuté au travers d’une machine virtuelle, ou d’un puce JavaOS 13. possédant une riche API : le JDK 14. véritable explosion depuis son lancement : nombreux produits commerciaux : IDEs, APIs spécialisées, etc...
  • 21. 5. Caractéristiques du langage Basé sur C/C++, mais... pas de pointeurs, pas de structures ni de macros ( struct, typedef et #defines ), pas de gestion de la mémoire laissée au programmeur ( malloc() et free() sont morts, paix à eurs âmes...) Sa syntaxe est proche de celle de C/C++ Java est un langage simple à prendre en main, mais en aucun cas limité il faut une certaine expérience avant de tirer parti au mieux de ses possibilités, et surtout de son API très riche.
  • 22. 5. Caractéristiques du langage N’a-t-on rien perdu par rapport au C/C++ ? Non, les suppressions évoqués précédemment réduisent de moitié les erreurs les plus fréquentes du C et du C++. L’héritage multiple au sens courant a disparu, mais existe sous une forme différente grâce au concept d’”interfaces”. Java est-t-il un beau langage ? La notion de “beau” est subjective, mais oui, Java est un langage extrêmement agréable à programmer et permet dans certains cas de développer des applications beaucoup plus rapidement qu’avec d’autres langages.!
  • 23. 5. Caractéristiques du langage Java est peu gourmand en mémoire La machine virtuelle n’a besoin que de 215k pour s’exécuter. Java dans une montre à quartz ? Oui, c’est possible
  • 24. 5. Caractéristiques du langage Orienté objet Java reprend la technologie objet du C++ et y ajoute quelques améliorations. Contrairement à C++, Java est complètement objet, ne demeurent que quelques types primitifs (int, char) hérités du C possèdant des “wrapper classes”.!
  • 25. Distribué au travers des classes du JDK Java lui-même n’est pas distribué. En revanche, il est fourni avec un ensemble de classes qui intègrent une gestion plus ou moins transparente du réseau. Par exemple, il est possible, en quelques lignes de code, de récupérer un fichier au travers du protocole HTTP ou FTP, de programmer un serveur de socket pouvant accepter des connexions en parallèle, etc... Ce genre de programmation est aujourd’hui un des gros attraits de Java.
  • 26. 5. Caractéristiques du langage Robuste Nombreuses vérifications à la compilation et à l’exécution Lors de la phase de compilation, Java s’assure qu’il n’y a aucun problème, que toutes les erreurs pouvant empêcher l’exécution du programme ont bien été traitées (ouverture d’un fichier inexistant ou accès mémoire en dehors des bornes d’un tableau par exemple). Cette vérification permet d’éviter qu’un problème grave ne corrompe la machine virtuelle ou le système qui l’exécute. N’oubliez pas que les programmes Java“voyagent” d’une machine à l’autre ! Vous ne voudriez pas qu’un programme arrive dans votre navigateur Web et plante votre machine !
  • 27. 5. Caractéristiques du langage Robuste…suite Java fournit au travers de la machine virtuelle et du langage vérification de pointeur nul, vérification des bornes des tableaux, traitement très puissant des exceptions, vérification du byte code (pas de virus, très difficile de “cracker” des programmes compilés, etc...). hmmm... mais désassemblage assez facile avec la release 1.0 du JDK !
  • 28. 5. Caractéristiques du langage Indépendant de l’architecture Indépendance au niveau des sources (JDK) et du Byte Code (machine virtuelle) Le compilateur Java du JDK ne fournit pas directement du code machine exécutable, il produit un code portable, du byte-code, interprétable par la machine virtuelle. Ce byte-code est indépendant de l’architecture. Chaque machine possédant une machine virtuelle peut l’exécuter. Actuellement Java peut être exécuté sous presque tous les Unix du marché, sous Windows 3.1/ 95/NT, sous MacOS, dans des Net Computers (NC) ou des systèmes embarqués possédant une puce JavaOS (téléphones portables, télévisions, etc...).
  • 29. 5. Caractéristiques du langage Indépendant de l’architecture
  • 30. 5. Caractéristiques du langage Indépendant de l’architecture Compilation directe possible (traduction C++ puis compilation aujourd’hui), mais adieu la transportabilité du code ! Performances quand même excellentes depuis l’arrivée des JITs (Just In Time compilers...) Compilation lors de la phase d’interprétation, compilation “au vol”. On approche la vitesse du C/C++ optimisé, mais on y est pas encore.
  • 31. 5. Caractéristiques du langage Sûr : le vérificateur de byte-code Contrôle de tout code chargé avant instanciation pour exécution Le code Java est testé plusieurs fois avant d’être exécuté sur votre machine. Le code passe par un vérificateur de byte-code. Celuici teste le format des fragments de code et applique un algorithme qui détermine leur légalité. Un code légal ne modifie pas les pointeurs, ne viole pas les droits d’accès aux objets et ne tente pas d’altérer les objets ou les classes. Une application indépendante peut se permettre plus de choses qu’une application s’exécutant dans un navigateur Web (applet). Le class loader et le security manager sont différents dans les deux cas. Vérificateur de byte-code Le code ne cause aucun dépassement de capacité positif ou négatif de la pile opérande, les types de paramètres de tous les codes opération sont corrects, aucune conversion illégale de données (entiers en pointeurs, etc...), les accès aux objets sont légaux (publics, privés, protégés... nous y reviendrons!)
  • 32. 5. Caractéristiques du langage Sûr : le Class Loader Les classes sont chargées dans un NameSpace indépendant et identifié en fonction de l’origine du code chargé Les classes sont, comme nous le verrons plus tard, le code de base servant à la construction par instanciation des objets utilisés par une application. Elles peuvent être chargées par le réseau (applets et classes développées par l’utilisateur) ou encore locales, liées à la machine virtuelle en cours d’utilisation. Le Class Loader participe donc à la sécurisation de Java en séparant les espaces-noms pour les classes locales et les classes provenant du réseau. Cela limite les possibilités de voir un virus ou une application “cheval de troie” envahir votre machine sans prévenir! Lorsqu’on a besoin d’une classe donnée, la recherche est effectuée en priorité parmi les classes locales. De cette manière, aucune classe importée ne peut se faire passer pour une classe système, même si elle en usurpe le nom. Quoique...
  • 33. 5. Caractéristiques du langage Sûr : le Class Loader
  • 34.  
  • 35. 5. Caractéristiques du langage Sûr : le Class Loader Langage Java + Compilateur Limitation des erreurs byte-code Verifier Vérification du byte-code avant exécution Class Loader Chargement des classes dans un espace de noms fonction de sa provenance Security Manager Vérification pour l’accès aux ressources locales
  • 36. 5. Caractéristiques du langage Le code Java est mobile Java intègre, au travers de son JDK, une interface commune permettant une compatibilité source totale entre les architectures De par son indépendance vis-à-vis de l’architecture, Java est par essence mobile. Il intègre cependant d’autres standards de mobilité afin de faciliter le développement d’applications portables. Par exemple, la longueur des types de base est toujours identique quelle que soit l’architecture utilisée, les codes des caractères sont partout les mêmes, le codage des mots de 16 ou 32 bits est le même (adieux big et little endian !), etc... De même, la librairie graphique, l’AWT (Abstract Window Toolkit) permet de développer des interfaces graphiques sans se préoccuper du système d’exploitation qui sera utilisé.
  • 37. 5. Caractéristiques du langage Java est interprété La compilation produit du byte-code non lié à une plate-forme Celui-ci est interprété par une machine virtuelle Pas de phase d’édition de liens avec des librairies existantes, c’est un garant de la portabilité du langage.
  • 38. 5. Caractéristiques du langage Java est interprété
  • 40. 5. Caractéristiques du langage Excellentes performances depuis peu Attention, le JDK proposé gratuitement par Sun est le plus lent du marché! Tout est écrit en Java (compilateur, machine virtuelle, etc...). Des produits infiniment plus performants, mais commerciaux sont disponibles chez différents développeurs. Par exemple : compilation de 2 millions de lignes/ seconde sur Pentium 133 avec Symantec Café. L’interpréteur est remplacé par un Just In Time Compiler (Solaris, nombreuses versions sous Windows 95/NT par Symantec, Microsoft, Borland, Netscape). 300.000 appels de méthodes/procédures par seconde sur un Sun Sparc 10 avec le JIT de Sun. Presque identique à du C/C++ natif équivalent
  • 41. 5. Caractéristiques du langage Java est multithreadé Un Thread est une partie de code, un “flot d’instructions” s’exécutant en concurrence avec d’autres Threads dans un même processus L’utilisation du multithreading permet à un seul programme d’effectuer plusieurs activités simultanément. Les threads, parfois appelés “processus légers” permettent de développer des programmes multitâches de manière plus simple et performante qu’avec la programmation système classique (fork() et exec()...), dont le code est par ailleurs difficilement portable.
  • 42. 5. Caractéristiques du langage Java est multithreadé …suite
  • 43. 5. Caractéristiques du langage Java est dynamique Un programme est constitué de plusieurs classes Lorsqu’une classe inconnue dans le programme est requise, on la recherche : 1. localement (dans le JDK local au navigateur web ou à la machine virtuelle) et ensuite si elle n’est pas trouvée... 2. à l’endroit d’où le programme a été chargé
  • 44. 5. Caractéristiques du langage Java est dynamique…suite Java tire au maximum parti de la technologie objet, la machine virtuelle n’essaie pas de connecter tous les modules composant une application avant l’exécution (pas d’éditions de liens). Les classes de définition des objets sont chargées simultanément mais indépendamment, en fonction de leur besoin dans l’application. Si une application nécessite une classe non présente sur la machine qui l’exécute, Java ira la chercher à l’endroit d’où l’application provient.
  • 45. Plan Historique Le JDK La langage JAVA Types d’applications Java Caractéristiques API JAVA
  • 46. 6. API Java et le réseau
  • 47. 6. API RMI
  • 49. 6. API Accès aux Bases de données