Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique



Documents pareils
Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/ Vue générale 2 - Mon premier programme 3 - Types de Programme Java

Chapitre I Notions de base et outils de travail

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Vulgarisation Java EE Java EE, c est quoi?

java : Langage et Environnement

Éléments de programmation et introduction à Java

Rebol, un langage «différent»

Architectures web/bases de données

Évaluation et implémentation des langages

FTP Expert 3 est idéal pour :

Logiciel Enterprise Guide Version 1.3 Windows

Java Licence Professionnelle CISII,

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

Projet de Veille Technologique

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Annexe : La Programmation Informatique

Java pour le Web. Cours Java - F. Michel

Programmation Orientée Objet

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

Télécom Nancy Année

Initiation à JAVA et à la programmation objet.

Logiciel de gestion d'imprimantes MarkVision

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

Microsoft infrastructure Systèmes et Réseaux

White Paper - Livre Blanc

as Architecture des Systèmes d Information

Projet : PcAnywhere et Le contrôle à distance.

Hébergement de sites Web

Onglet sécurité de Windows XP Pro et XP Home

Programmation Web. Introduction

Systèmes en réseau : Linux 1ère partie : Introduction

Les tableaux de bord de pilotage de nouvelle génération. Copyright PRELYTIS

Environnements de Développement

Serveur d application WebDev

Java - la plateforme

Chapitre 2 Accès aux partages depuis votre système d'exploitation

TP réseau Android. Bidouilles Tomcat. a) Installer tomcat : il suffit de dézipper l'archive apache-tomcat windowsx64.zip.

Mise en oeuvre d'une base de données mono-utilisateur avec SQLite

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

RN2-Programmation Orientée Objet - JAVA CH 1 Introduction à la POO et Java

Présentation Internet

WebDAV en 2 minutes. Tous ces objectifs sont complémentaires et ils sont atteints grâce au seul protocole WebDAV. Scénarii

JAVA 8. JAVA 8 - Les fondamentaux du langage. Les fondamentaux du langage Java. Avec exercices pratiques et corrigés JAVA 8 29,90.

Machines virtuelles. Brique ASC. Samuel Tardieu Samuel Tardieu (ENST) Machines virtuelles 1 / 40

Mise en œuvre des serveurs d application

RENDRE VOS APPLICATIONS JAVA PLUS EFFICACES Ce qu'il faut savoir

L3 informatique TP n o 2 : Les applications réseau

La haute disponibilité de la CHAINE DE

Surveiller et contrôler vos applications à travers le Web

Modules du DUT Informatique proposés pour des DCCE en 2014/2015

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Programmeur Java 1.4 et 5.0

et Groupe Eyrolles, 2006, ISBN :

Installation d un serveur DHCP sous Gnu/Linux

Module 0 : Présentation de Windows 2000

Qu'est-ce que le BPM?

La technologie Java Card TM

Guide de déploiement

Développement d applications Internet et réseaux avec LabVIEW. Alexandre STANURSKI National Instruments France

contact@nqicorp.com - Web :

Éléments d'architecture des ordinateurs

DSI - Pôle Infrastructures

Programmer en JAVA. par Tama

Chapitre 01 Généralités

Serveur Acronis Backup & Recovery 10 pour Linux. Update 5. Guide d'installation

UNIFIED D TA. architecture nouvelle génération pour une restauration garantie (assured recovery ) que les données soient sur site ou dans le cloud

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE

Le Framework.Net. Introduction. Pourquoi.Net?

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant R&T 1ère année. Sylvain MERCHEZ

Sage CRM. 7.2 Guide de Portail Client

TAGREROUT Seyf Allah TMRIM

Environnements de développement (intégrés)

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES

Conception d'applications de base de données ios plus rapides Guide Pratique FileMaker

ENSIAS Rapport De Stage BPCS. Rapport de stage. Encadré par : MAREQUAZ Saâd. Réalisé par : Pratic Abdellah

Introduction aux environnements de virtualisation d'oracle Solaris 11.1

Version Wraptor Laboratories. Installation de SpamWars 4.0 Édition Entreprise

Gestion collaborative de documents

Hébergement de site web Damien Nouvel

Installation personnalisée d'oracle 10g

KAJOUT WASSIM INTERNET INFORMATION SERVICES (IIS) 01/03/2013. Compte-rendu sur ISS KAJOUT Wassim

CH.3 SYSTÈMES D'EXPLOITATION

Syfadis. > Configuration du poste client. Nous vous aidons à réussir. REFERENCE : Syfadis LMS - 12/09/2008. AUTEUR : Equipe technique Syfadis

Outils de traitements de logs Apache

Vérifier la qualité de vos applications logicielle de manière continue

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

Cahier des charges (CDC)

Services Réseaux - Couche Application. TODARO Cédric

FileMaker 13. Guide ODBC et JDBC

Manuel d'installation

Refonte front-office / back-office - Architecture & Conception -

RMI le langage Java XII-1 JMF

Perso. SmartCard. Mail distribution. Annuaire LDAP. SmartCard Distribution OCSP. Codes mobiles ActivX Applet. CRLs

SYSTÈME DE GESTION DE FICHIERS

Syfadis. > Configuration du poste client. Nous vous aidons à réussir. REFERENCE : Syfadis LMS - 20/06/2007. AUTEUR : Equipe technique Syfadis

Windows Internet Name Service (WINS)

Transcription:

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 Java 1. Présentation de Java Java est un environnement de programmation orientée objets adapté à la distribution d applications sur Internet et s intégrant au Web. Vers la fin de 1995, le langage de programmation Java (Développé par Sun Microsystems) surgit sur la grande scène d'internet et obtient immédiatement un énorme succès. Il s'agit d'un langage de conception très performant qui a été adopté par la majorité des fournisseurs. Ses caractéristiques intégrées de sécurité offrent un sentiment de confiance aux programmeurs comme aux utilisateurs des applications. De plus, Java incorpore des fonctionnalités qui facilitent grandement certaines tâches de programmation avancées comme la gestion des réseaux, la connectivité des bases de données ou le développement d'applications multitâches. Il se compose de 4 éléments : - un langage de programmation - une machine virtuelle (JVM) - un ensemble de classes standards réparties dans différentes API - un ensemble d outils (jdb, javadoc,...) 2. Interprétation d un programme Java Tout d abord, Java simplifie le processus de développement; quelle que soit la machine sur laquelle le codage est réalisé, le compilateur fournit le même code. Ensuite, quel que soit le système utilisé par les utilisateurs, cet unique code est directement opérationnel.

En effet, la compilation d une source Java produit du pseudo-code Java qui sera exécuté par tout interpréteur Java sans aucune modification ou recompilation. Cet "interpréteur" est la "machine virtuelle Java". De plus en plus, cette machine virtuelle utilise un compilateur JIT ( Just In Time ) qui transforme, au moment de l exécution, le pseudo-code en code natif (code machine pour un type d'ordinateur précis) afin d obtenir la vitesse d exécution maximale. Le langage Java peut être utilisé pour créer des modules de code référencés au sein d une page html et exécutés par un navigateur compatible Java (ou un simple interpréteur Java), on parle alors d Applets. Ces modules de code ont rendu Java populaire car ils permettent à un créateur de site d enrichir le contenu de son site de modules dynamiques et/ou interactifs qui tourneront à l identique quelque soit la machine et le système utilisé par le visiteur de ce site. Java permet également de créer des applications autonomes qui peuvent se substituer à des applications développés en langage compilé. Pour ces applications l API Java apporte un ensemble très riche de classes répondant à de nombreux besoins et pouvant être étendue; cette unique API simplifie la création et le déploiement des applications, en effet cette application s exécutera sur tout système en utilisant l aspect visuel de ce système. 2.1. Les avantages de Java Les avantages de ce langage se résument comme suit : Sa bibliothèque d'exécution est indépendante de la plateforme : en théorie, il est possible d'utiliser le même code pour Windows 95/98/NT, Solaris, UNIX, Macintosh, etc. Cette propriété est indispensable pour une programmation sur Internet ; La syntaxe de Java est analogue à celle de C++, ce qui le rend économique et professionnel ;

Il est beaucoup plus facile d'obtenir du code sans erreur à l'aide de java qu'avec C++ car dans Java sont ajoutées des fonctions destinées à éliminer la possibilité de créer du code contenant les types d'erreurs les plus courants : o Les concepteurs de java ont supprimé l'allocation et la libération manuelles de mémoire. La mémoire dans java est allouée et libérée automatiquement ; o Ils ont éliminé l'arithmétique des pointeurs introduisant du même coup une vraie gestion de tableau. La notion de référence sur une zone mémoire remplace avantageusement celle de "pointeur", car elle supprime la possibilité d'écraser toute zone mémoire à cause d'un compteur erroné ; o Ils ont éliminé toute possibilité de confusion entre une affectation et un test d'égalité dans une instruction conditionnelle ; o Ils ont supprimé l'héritage multiple en le remplaçant par une nouvelle notion d'interface dérivée d'objective C. Les interfaces offrent tout ce qui est obtenu à partir de l'héritage multiple, sans la complexité de la gestion de hiérarchie d'héritage multiple. 2.2. Caractéristiques de Java Les caractéristiques fondamentales de Java se résument selon les 13 termes suivants : Simple : Java a été conçu de façon relativement proche du langage C++. De nombreuses fonctions compliquées, mal comprises, rarement utilisées de C++ (pointeur, surcharge dynamique, héritage multiple, ), qui semblent apporter plus d'inconvénients que d'avantages, ont été supprimées de Java. Fiable : Java a été conçu pour que les programmes qui l'utilisent soient fiables sous différents aspects. Sa conception encourage le programmeur à traquer préventivement les éventuels problèmes, à lancer des vérifications dynamiques en cours d'exécution et à éliminer les situations génératrices d'erreurs... La seule et unique grosse différence entre C++ et Java réside dans le fait que ce dernier intègre un modèle de pointeur qui écarte les risques d'écrasement de la mémoire et d'endommagement des données. Orienté objet : Java se concentre sur les objets et sur les interfaces avec ces objets. Java offre de nombreuses classes permettant de définir et de manipuler les objets. Distribué : Java possède une importante bibliothèque de routines permettant de gérer les protocoles TCP/IP tels que HTTP et FTP. Les applications Java peuvent charger et accéder à

des pages sur Internet via des URL avec la même facilité qu'elles accèdent à un fichier local sur le système. Les fonctionnalités réseau de Java sont à la fois fiables et d'utilisation aisée. Java est simple d utilisation lorsqu'il s'agit de mettre en oeuvre des tâches lourdes, comme l'ouverture d'une connexion avec un socket. De plus, Java rend plus facile l'élaboration des scripts CGI (Common Gateway Interface), et un mécanisme élégant, nommé servlet, augmente considérablement l'efficacité du traitement côté serveur, assuré par Java. De nombreux serveurs Web, parmi les plus courants, supportent les servlets. Le mécanisme d'invocation de méthode à distance (RMI) autorise la communication entre objets distribués. Sécurité : Java a été conçu pour être exploité dans des environnements serveur et distribués. Dans ce but, la sécurité n a pas été négligée. Java permet la construction de systèmes inaltérables et sans virus. Sûr : La sécurité fait partie intégrante du système d'exécution et du compilateur. Un programme Java planté ne menace pas le système d'exploitation. Il ne peut y avoir d'accès direct à la mémoire. L'accès au disque dur est réglementé dans une applet. Les programmes fonctionnant sur le Web sont soumis aux restrictions suivantes dans la version 1.0 de Java : o Aucun programme ne peut ouvrir, lire, écrire ou effacer un fichier sur le système de l'utilisateur ; o Aucun programme ne peut lancer un autre programme sur le système de l'utilisateur ; o Toute fenêtre créée par le programme est clairement identifiée comme fenêtre Java, ce qui interdit par exemple la création d'une fausse fenêtre demandant un mot de passe ; o Les programmes ne peuvent pas se connecter à d'autres sites Web que celui dont ils proviennent. Architecture neutre : Le compilateur génère un format de fichier objet dont l architecture est neutre. Le code compilé est exécutable sur de nombreux processeurs, à partir du moment où le système d exécution de Java est présent. Pour ce faire, le compilateur Java génère des instructions en bytecode qui n ont de lien avec aucune

architecture particulière. Au contraire, ces instructions ont été conçues pour être à la fois faciles à interpréter et faciles à traduire en code natif. Portable : A la différence du C/C++, on ne trouve pas les aspects de dépendance de la mise en œuvre dans la spécification. Les tailles des types de données primaires sont spécifiées, ainsi que le comportement arithmétique qui leur est applicable. Interprété : Le source est compilé en pseudo code puis exécuté par un interpréteur Java (la Machine Virtuelle Java (JVM)). Indépendant de toute plateforme : L interpréteur Java peut exécuter les bytecode directement sur n importe quelle machine sur laquelle il a été porté. Il n'y a pas de compilation spécifique pour chaque plate forme. Le code reste indépendant de la machine sur laquelle il s'exécute. Il est possible d'exécuter des programmes Java sur tous les environnements qui possèdent une JVM. Cette indépendance est assurée au niveau du code source grâce à Unicode et au niveau du bytecode. Performances élevées : En général, les performances des bytecodes interprétés sont tout à fait suffisantes, il existe toutefois des situations dans lesquelles des performances plus élevées sont nécessaires. Les bytecodes peuvent être traduits à la volée en code machine pour l unité centrale destinée à accueillir l application. Multithread : Il permet l'utilisation de threads qui sont des unités d'exécution isolées. La JVM elle-même utilise plusieurs threads. Ce qui permet des traitements multitâches dans une même application. Les avantages du multithread sont une meilleure inter-réactivité et un meilleur comportement en temps réel. Dynamique : Java a été conçu pour s adapter à un environnement qui évolue, et pousse le concept orienté objet à son optimum en permettant l édition des liens entre modules objets dynamiquement au moment de l exécution, en particulier dans le cas ou une application s appuie sur une librairie de classes (une librairie de composants logiciels). Même si cette librairie de classes évolue, il n est pas nécessaire de modifier ou de recompiler l application qui y fait appel. Ces nouvelles versions de modules seront prises en compte sans problèmes dès le moment ou elles auront été installées. 3. Les Types de programmes Java Les programmes peuvent être des applications ou des applets :

Une application est un programme exécuté localement comme le cas d un programme C++. Une applet est une application exécutée par l intermédiaire d un navigateur Web qui définit automatiquement un cadre de travail. Les définitions de ce cadre sont définies par le code HTML accompagnant l applet. Les différences entre une applet et une application sont : Les applets n'ont pas de bloc main() : la méthode main() est appelée par la machine virtuelle pour exécuter une application. Les applets ne peuvent pas être testées avec l'interpréteur mais doivent être intégrées à une page HTML, elle même visualisée avec un navigateur sachant gérer les applets Java, ou testées avec l'applet viewer. 4. Les techniques de base de la programmation en Java - N'importe quel éditeur de texte peut être utilisé pour éditer un fichier source Java ; - Il est nécessaire de compiler le source pour le transformer en J-code ou byte-code Java qui sera lui exécuté par la machine virtuelle ; - Il est préférable de définir une classe par fichier. Le nom de la classe publique et le fichier qui la contient doivent être identiques (il faut respecter la casse) ; - Pour être compilé, le programme doit être enregistré au format de caractères Unicode : une conversion automatique est faite par le JDK si nécessaire.