33
© Rémy Courdier (Révisions M. Gangat) 1 1996-2003- Java Présentation - Version du cours 3.0 L’environnement Java Présentation de Java

Présentation de - lim.univ-reunion.frlim.univ-reunion.fr/staff/courdier/old/cours/java/Chap1... · ... Version du cours 3.0 2 Sommaire Présentation de Java ... Langage de programmation

Embed Size (px)

Citation preview

Page 1: Présentation de - lim.univ-reunion.frlim.univ-reunion.fr/staff/courdier/old/cours/java/Chap1... · ... Version du cours 3.0 2 Sommaire Présentation de Java ... Langage de programmation

© Rémy Courdier (Révisions M. Gangat) 11996-2003- Java Présentation - Version du cours 3.0

L’environnement Java

Présentation de

Java

Page 2: Présentation de - lim.univ-reunion.frlim.univ-reunion.fr/staff/courdier/old/cours/java/Chap1... · ... Version du cours 3.0 2 Sommaire Présentation de Java ... Langage de programmation

© Rémy Courdier (Révisions M. Gangat) 21996-2003- Java Présentation - Version du cours 3.0

Sommaire

Présentation de Java

HistoriqueL’environnement Java et le JDKCaractéristiquesJava par l’exempleL’environnement de génération et d’exécutionGestion des aspects de sécuritéJava et JavascriptPlate-forme JAVA et librairies (API)Ecrire une applicationBibliographie & @ Internet

ANNEXE : Terminologie

Page 3: Présentation de - lim.univ-reunion.frlim.univ-reunion.fr/staff/courdier/old/cours/java/Chap1... · ... Version du cours 3.0 2 Sommaire Présentation de Java ... Langage de programmation

© Rémy Courdier (Révisions M. Gangat) 31996-2003- Java Présentation - Version du cours 3.0

HistoriqueDates clés

1991 James Gosling à Sun MicroSystems développe Oakprogrammer tous les processeurs (ordinateurs ou appareils électroménagers, ...)caractéristiques initiales: robustesse, compatibilité,petite taille du runtime ou des codes générés, facilité de programmation.plateforme pour interpréter les programmes du langage

1994 Abandon du projet

1995 Après une présentation à NetscapeReprise du projet Intégration dans Netscape sous forme d’applet

Versions Majeures1.0 1.1 modèle événementiel,exceptions..1.2 extensions javax, swing, J2EE1.3 Hotspot1.4 Java NIO…

...Java signifie café en Slang (argot américain)...

Page 4: Présentation de - lim.univ-reunion.frlim.univ-reunion.fr/staff/courdier/old/cours/java/Chap1... · ... Version du cours 3.0 2 Sommaire Présentation de Java ... Langage de programmation

© Rémy Courdier (Révisions M. Gangat) 41996-2003- Java Présentation - Version du cours 3.0

HistoriqueUn nouvel environnement pour de nouvelles solutions informatiques

C++ commence à s’écrouler Complexité des environnements C++

Langage C, incrément objet, bibli de classes d’encapsulation des OS.Différences des environnements :

Multiplication des Technologies de compilation (dépendance entre le langage et le processeur)Faible durée de vie des composants logiciels

Problème de fiabilité et sécurité en utilisation WWW.Utilisation de pointeurs,...

Un nouveau langage Quelque part entre Smalltalk et C++

Un nouvel environnement d’exécution adapté au Webinterprétation du byte code par une machine virtuelle

Page 5: Présentation de - lim.univ-reunion.frlim.univ-reunion.fr/staff/courdier/old/cours/java/Chap1... · ... Version du cours 3.0 2 Sommaire Présentation de Java ... Langage de programmation

© Rémy Courdier (Révisions M. Gangat) 51996-2003- Java Présentation - Version du cours 3.0

L’environnement JavaLangage et JDK

Langage de programmation orienté objetsSitué entre SMALLTALK et C++, permet de développer des applications de taille importanteIntégrant les besoins de l’informatique actuelleRépond à des objectifs de portabilité

Une plateforme de déploiement Une machine virtuelle (JVM) Des librairies de base (API).

Un ensemble d’outils : Le JDKCompilateurDébuggerDocumentation…

FournisseurSun fournit des JDK pour les principales plate-formes :

WIN32, MacOS, Solaris et Linux

autres éditeurs d'environnement Java :IBM, Microsoft, Novell, Tower J, Blackdown, Appeal Jrockit …

Page 6: Présentation de - lim.univ-reunion.frlim.univ-reunion.fr/staff/courdier/old/cours/java/Chap1... · ... Version du cours 3.0 2 Sommaire Présentation de Java ... Langage de programmation

© Rémy Courdier (Révisions M. Gangat) 61996-2003- Java Présentation - Version du cours 3.0

L’environnement JavaPrincipe

Win32 Puce JavapicoJava,

microJava, ultraJava

Java Run Time : platform independantInterpréteur Byte Code -Garbage Collector

Solaris AIX, MVS,HPUX,Hitachi OS, Irix,...

Intel PC PowerPC Sun SPARCstation ...

Classes Standards d’extension 3D, Video, MIDI, Telephonie, Entreprise,...

Appli. JavaAppli. Java

Applications JavaAppli. JavaAppli. JavaApplets Java

API Java

OS/2 MacOS

Electronique grand public : NC, TV, Téléphone, Jeux,...

Java OS512 Ko ROM

256 RAM

Java Base APIClasses de bases Java

AWT, Net & IO, applet, memory, thread

NavigateursHotJava, Netscape,...

Java Standard ExtensionAPI

code JavacodeC ou assembleur

MachineVirtuelle

Java

...libutil libawt libnet libio

platform dependantlibraries

Page 7: Présentation de - lim.univ-reunion.frlim.univ-reunion.fr/staff/courdier/old/cours/java/Chap1... · ... Version du cours 3.0 2 Sommaire Présentation de Java ... Langage de programmation

© Rémy Courdier (Révisions M. Gangat) 71996-2003- Java Présentation - Version du cours 3.0

Caractéristiques

SimpleSyntaxe proche du C / C++Pas de pointeursOrganisation du code (packages)Pas de gestion explicite de la mémoire (ramasse miettes)Tout est objet (sauf les type primitifs)Pas d’héritage multiple(utilisation d’interfaces)Librairies de classes (sockets, BD, graphiques…)

Orienté Objetparadigme de programmation le plus utilisétout est classe

Page 8: Présentation de - lim.univ-reunion.frlim.univ-reunion.fr/staff/courdier/old/cours/java/Chap1... · ... Version du cours 3.0 2 Sommaire Présentation de Java ... Langage de programmation

© Rémy Courdier (Révisions M. Gangat) 81996-2003- Java Présentation - Version du cours 3.0

Caractéristiques

Interprété, architecturalement neutre et portableCode Source transformé en Bytecode indépendant de l’OSBytecode interprété par une machine virtuelle

Taille des types primitifs indépendants de l’OSBibliothèques de classes « standard »

// Bytecode consists of opcode andoperands.

// Bytecode stream:03 3b 84 00 01 1a 05 68 3b a7 ff f9

// Disassembly:iconst_0 // 03istore_0 // 3biinc 0, 1 // 84 00 01iload_0 // 1aiconst_2 // 05imul // 68istore_0 // 3bgoto -7 // a7 ff f9

Page 9: Présentation de - lim.univ-reunion.frlim.univ-reunion.fr/staff/courdier/old/cours/java/Chap1... · ... Version du cours 3.0 2 Sommaire Présentation de Java ... Langage de programmation

© Rémy Courdier (Révisions M. Gangat) 91996-2003- Java Présentation - Version du cours 3.0

Caractéristiques

Robuste,Fiable et SécuriséLangage pour les applications embarquées.Gestion de la mémoire par un ramasse miettes (garbage collector)Impossible de corrompre la mémoire

Pas d’accès direct à la mémoirePas de pointeursContrôle du débordement dans les tableaux

Mécanisme d'exception.Compilateur strict (erreur si exception non gérée, si utilisation d’une variable non affectée, ...).

Bytecode vérifié avant l’exécution par l’interpréteurAccès aux ressources contrôlé

Page 10: Présentation de - lim.univ-reunion.frlim.univ-reunion.fr/staff/courdier/old/cours/java/Chap1... · ... Version du cours 3.0 2 Sommaire Présentation de Java ... Langage de programmation

© Rémy Courdier (Révisions M. Gangat) 101996-2003- Java Présentation - Version du cours 3.0

Caractéristiques

DistribuéAPI réseau (java.net.Socket, java.net.URL, ...).API pour les objets distribués (RMI,CORBA)API pour le Web (servlets)

Multi-thread (processus légers)Intégrés au langage et aux API :Gestion de la synchronisation

DynamiqueChargement dynamique des classesIntrospection…

Page 11: Présentation de - lim.univ-reunion.frlim.univ-reunion.fr/staff/courdier/old/cours/java/Chap1... · ... Version du cours 3.0 2 Sommaire Présentation de Java ... Langage de programmation

© Rémy Courdier (Révisions M. Gangat) 111996-2003- Java Présentation - Version du cours 3.0

Points faibles

Pas aussi rapide qu’un programme natif

Gourmand en mémoire

Absence de surcharge d’opérateurs comme en C++

Absence dans le langage des types paramétriques –templates

Page 12: Présentation de - lim.univ-reunion.frlim.univ-reunion.fr/staff/courdier/old/cours/java/Chap1... · ... Version du cours 3.0 2 Sommaire Présentation de Java ... Langage de programmation

© Rémy Courdier (Révisions M. Gangat) 121996-2003- Java Présentation - Version du cours 3.0

Java par l’exemple

class Exemple {int unAttribut;void uneMethode() {unAttribut++; // équivaut à this.unAttribut++System.out.println(“exécution de uneMethode”);System.out.println(“valeur :” + unAttribut);

int sum (int arr[]) {unAttribut = 0;// les tableaux sont des objets et gèrent leur // longueur accessible par la méthode length()for (int i=arr.length; --i>=0;)

unAttribut += arr[i];return unAttribut;

};

}; ...d’où les nombreuses comparaisons avec le langage C, et parfois l’appellation C++ ++ qui est donnée à Java...

Page 13: Présentation de - lim.univ-reunion.frlim.univ-reunion.fr/staff/courdier/old/cours/java/Chap1... · ... Version du cours 3.0 2 Sommaire Présentation de Java ... Langage de programmation

© Rémy Courdier (Révisions M. Gangat) 131996-2003- Java Présentation - Version du cours 3.0

L’environnement de génération et d’exécution Java

Javasource(.java)

Java byteCode

(.class)

compilateurJava

BytecodesJava chargélocalement

ou par réseau

“class Loader”librairies de classes

interpreteurjava

compilateurtemps reéel

Runtime System

Operating System

Hardware

java virtual Machine

Environnement degénération

Environnement d’exécution(java Platform)

Page 14: Présentation de - lim.univ-reunion.frlim.univ-reunion.fr/staff/courdier/old/cours/java/Chap1... · ... Version du cours 3.0 2 Sommaire Présentation de Java ... Langage de programmation

© Rémy Courdier (Révisions M. Gangat) 141996-2003- Java Présentation - Version du cours 3.0

Gestion des aspects de sécurité“On ne peut faire confiance à personne”

Javasource(.java)

Java byteCode

(.class)

compilateurJava

BytecodesJava chargélocalement

ou par réseau

“class Loader”

librairies de classes

interpreteurjava

compilateurtemps reéel

Runtime Systemjava virtual Machine

verifieur de pseudo-code

•pas de gestion del’Allocation dynamique

•Pas de pointeurs“élimination des erreurs

de prog. classiques...”

•un espace mémoire par source chargé par le réseau•un espace mémoire pour tous les sources locauxune classe ne peut référencer une classe importée qu’en la référençant explicitement

vérification des types et

des paramètresde chaqueinstruction

“parade auxcompilateurshostiles...”

“élimination des conflits

d’exécutions”

protection des fichiers et des accès réseaux :les classes du “networking package” permettent de configurer la platforme avec différents niveaux de

paranoia : interdir tout accès réseau,...“maîtrise de l’origine des info.”

Utilisation d’une machine virtuelle

“ parade aux accèsmémoire illicites”

Page 15: Présentation de - lim.univ-reunion.frlim.univ-reunion.fr/staff/courdier/old/cours/java/Chap1... · ... Version du cours 3.0 2 Sommaire Présentation de Java ... Langage de programmation

© Rémy Courdier (Révisions M. Gangat) 151996-2003- Java Présentation - Version du cours 3.0

Gestion des aspects de sécuritéLe modèle de sécurité

Le même modèle de sécurité est appliqué pour les applications etpour les applets, locales ou téléchargées

Page 16: Présentation de - lim.univ-reunion.frlim.univ-reunion.fr/staff/courdier/old/cours/java/Chap1... · ... Version du cours 3.0 2 Sommaire Présentation de Java ... Langage de programmation

© Rémy Courdier (Révisions M. Gangat) 161996-2003- Java Présentation - Version du cours 3.0

Java et JavaScriptJavaScript ?

Quoi ?JavaScript et une déclinaison simplifiée mais indispensable du langage Java. Il permet de goûter aux plaisirs de Java sans se frotter aux difficultés de la conception objet.

JavaScript s’intègre dans une page HTML et va permettre de répondre à des actions utilisateurs.

réalisation d’actions sans exigence d’une connexion réseau supplémentairepermet la programmation événementielle à l’intérerieur d’une page HTML<SCRIPT LANGUAGE=“JavaScript”> function calcule(form) { ... }

</SCRIPT>

supporte le chargement d’un script depuis un autre site<SCRIPT SRC =“http:iremia.courdier.rc”>... </SCRIPT>

Page 17: Présentation de - lim.univ-reunion.frlim.univ-reunion.fr/staff/courdier/old/cours/java/Chap1... · ... Version du cours 3.0 2 Sommaire Présentation de Java ... Langage de programmation

© Rémy Courdier (Révisions M. Gangat) 171996-2003- Java Présentation - Version du cours 3.0

Java et JavaScriptComparaison

JavaScript utilise un nombre restreint de types de données du langage Java

JavaScriptInterprété par le client - non compilépas de classes ni d’héritage,...Encapsulé dans HTMLDéclaration optionnelle des variables Références vérifiées à la l’exécutionPas de fonctionnalité graphiquesIntégration dans l’architecture sous-jacente de navigateursIssu de Netscape Corporation

Javacompilé avant exécution sur le clientOrienté objetApplets distinctes de HTMLDéclaration obligatoire des variables (typage fort)Références vérifiées à la compilationFonctionnalités graphiques complètes de JavaEnvironnement indépendant de navigateurs (sauf LiveConnect)Issu de Sun Microsystem

Page 18: Présentation de - lim.univ-reunion.frlim.univ-reunion.fr/staff/courdier/old/cours/java/Chap1... · ... Version du cours 3.0 2 Sommaire Présentation de Java ... Langage de programmation

© Rémy Courdier (Révisions M. Gangat) 181996-2003- Java Présentation - Version du cours 3.0

Plate-forme JAVA et librairies (API)Les librairies standards

Elles diminuent la charge de travail, standardisent les applications,et fournissent des exemples de source Java de référence

Les librairies standards : java.lang : Types de bases, Threads, ClassLoader, Exception, Math, ...java.util : Collections (Hashmap,ArrayList,TreeMap…), Ressources, Logging, Compression, Préférencesjava.appletjava.awt,javax.swing : Interfaces Graphiquesjava.io: Accès aux I/O par fluxjava.net: Socket (UDP, TCP, multicast), URL, ...java.lang.reflect : Introspectionjava.beans : Composants logicielsjava.sql,javax.sql: Accès aux bases de donnéesjava.security : signature, cryptographie, authentificationjava.rmi : Remote Method Invocationjava.xml

Page 19: Présentation de - lim.univ-reunion.frlim.univ-reunion.fr/staff/courdier/old/cours/java/Chap1... · ... Version du cours 3.0 2 Sommaire Présentation de Java ... Langage de programmation

© Rémy Courdier (Révisions M. Gangat) 191996-2003- Java Présentation - Version du cours 3.0

Plate-forme JAVA et librairies (API)Les librairies d’extensions Standards

Les Extensions StandardsJava security :

cryptography, digital signature, encryption and authentificationJava Media API :

2D, Video, Audio, MIDI, Animation, Share, Telephony, 3DJava Enterprise API :

JDBC(Java Database Connectivity), IDL, RMI (Remote Methode Invocation)Java Commerce API

gestion de services de paiements électroniques, cryptographie évoluée,...Java Server

service de gestion de serveurs intranet / internet…

Page 20: Présentation de - lim.univ-reunion.frlim.univ-reunion.fr/staff/courdier/old/cours/java/Chap1... · ... Version du cours 3.0 2 Sommaire Présentation de Java ... Langage de programmation

© Rémy Courdier (Révisions M. Gangat) 201996-2003- Java Présentation - Version du cours 3.0

Plate-forme JAVA et librairies (API)La plate-forme

Page 21: Présentation de - lim.univ-reunion.frlim.univ-reunion.fr/staff/courdier/old/cours/java/Chap1... · ... Version du cours 3.0 2 Sommaire Présentation de Java ... Langage de programmation

© Rémy Courdier (Révisions M. Gangat) 211996-2003- Java Présentation - Version du cours 3.0

Ecrire une applicationOutils

Outils : Téléchargement du JDKJava Developpement Kit http://java.sun.com/j2se/1.4.1/download.hlUn Editeur (Bloc note,IDE….)

DocumentationDocumentation sur les API http://java.sun.com/docs/Tutorielhttp://java.sun.com/docs/books/tutorial/index.hlGoogle

Page 22: Présentation de - lim.univ-reunion.frlim.univ-reunion.fr/staff/courdier/old/cours/java/Chap1... · ... Version du cours 3.0 2 Sommaire Présentation de Java ... Langage de programmation

© Rémy Courdier (Révisions M. Gangat) 221996-2003- Java Présentation - Version du cours 3.0

Ecrire une applicationEn ligne de commande

Pré requisUn Editeur de texte

EtapesEcrire le code source dans un fichier portant le nom de la classe(ici HelloWorldApp.java)/*** The HelloWorldApp class implements an application that* displays "Hello World!" to the standard output.*/

public class HelloWorldApp {public static void main(String[] args) {

// Display "Hello World!"System.out.println("Hello World!");

}}

Attention: respecter la casse des caractères (majuscules/minuscules)

Page 23: Présentation de - lim.univ-reunion.frlim.univ-reunion.fr/staff/courdier/old/cours/java/Chap1... · ... Version du cours 3.0 2 Sommaire Présentation de Java ... Langage de programmation

© Rémy Courdier (Révisions M. Gangat) 231996-2003- Java Présentation - Version du cours 3.0

Ecrire une applicationEn ligne de commande

EtapesCompiler le code source

javac HelloWorldApp.java

Un fichier contenant du bytecode sera généréHelloWorldApp.class

Executer le bytecodejava HelloWorldApp

Page 24: Présentation de - lim.univ-reunion.frlim.univ-reunion.fr/staff/courdier/old/cours/java/Chap1... · ... Version du cours 3.0 2 Sommaire Présentation de Java ... Langage de programmation

© Rémy Courdier (Révisions M. Gangat) 241996-2003- Java Présentation - Version du cours 3.0

Ecrire une applicationAvec un IDE (1)

Pré requisECLIPSE www.eclipse.org

EtapesCréer un projet

File – New ProjectJava – Java Project

Choisir un nom & Cliquer sur FINISH

Raccourci vers eclipse.exe.lnk

Page 25: Présentation de - lim.univ-reunion.frlim.univ-reunion.fr/staff/courdier/old/cours/java/Chap1... · ... Version du cours 3.0 2 Sommaire Présentation de Java ... Langage de programmation

© Rémy Courdier (Révisions M. Gangat) 251996-2003- Java Présentation - Version du cours 3.0

Ecrire une applicationAvec un IDE (2)

EtapesCréer une classe

File – New – ClassEntrer le nom HelloWorldApp.java

/*** The HelloWorldApp class* implements an application* that displays "Hello World!«* to the standard output.*/

public class HelloWorldApp {public static void main(String[] args) {

// Display "Hello World!"System.out.println("Hello World!");

}}

Page 26: Présentation de - lim.univ-reunion.frlim.univ-reunion.fr/staff/courdier/old/cours/java/Chap1... · ... Version du cours 3.0 2 Sommaire Présentation de Java ... Langage de programmation

© Rémy Courdier (Révisions M. Gangat) 261996-2003- Java Présentation - Version du cours 3.0

Ecrire une applicationAvec un IDE (3)

EtapesCompiler le code source

Project – Build All

Executer le byte codeMenu Run – RunDans launch configurations, choisir Java Application, puis cliquer sur newDans l’onglet Main, cliquer sur search et choisir la classe HelloWorldAppCliquer sur Run

Autres fonctionnalités de EclipseDébuggeurComplétion de codeRefactoring…

Page 27: Présentation de - lim.univ-reunion.frlim.univ-reunion.fr/staff/courdier/old/cours/java/Chap1... · ... Version du cours 3.0 2 Sommaire Présentation de Java ... Langage de programmation

© Rémy Courdier (Révisions M. Gangat) 271996-2003- Java Présentation - Version du cours 3.0

Bibliographie & @ Internet

principales @ internet :java.sun.com et tous les liens associés...

http://java.sun.com/doc/programmer.html , http://java.sun.com/doc/devcorner.htmlhttp://www.javasoft.comhttp://java.sun.com/tutorial/index.html

Java programming centerhttp://developer.java.sun.com/developer/onlineTraining/new2java/overview.hl

Cours JAVAhttp://www.univ-reunion.fr/~courdier/cours/javahttp://www-sor.inria.fr/~dedieu/java/cours/http://iridia.ulb.ac.be/~cmolter/CoursJavaHome.hlhttp://www.improve-technologies.com/pages/Java/Supports_de_cours_Java_gratuits/

Page 28: Présentation de - lim.univ-reunion.frlim.univ-reunion.fr/staff/courdier/old/cours/java/Chap1... · ... Version du cours 3.0 2 Sommaire Présentation de Java ... Langage de programmation

© Rémy Courdier (Révisions M. Gangat) 281996-2003- Java Présentation - Version du cours 3.0

ANNEXETerminologie

AppletAn applet is a Java program that runs within the web browser. Applets use a graphical user interface and may have text, images, buttons, scrollbars, and sound. AWT and SWING are frequently associated with articles and tutorials about creating applets.

AWTThe Abstract Window Toolkit (AWT) is a package of classes for creating components such as buttons, menus, and scrollbars for applets and standalone applications.

Java API The Java Application Programming Interface (API) is prewritten code, organized into packages of similar topics. For instance, the Applet and AWT packages include classes for creating fonts, menus, and buttons. The full Java API is included in the Java 2 Standard Edition download.

Page 29: Présentation de - lim.univ-reunion.frlim.univ-reunion.fr/staff/courdier/old/cours/java/Chap1... · ... Version du cours 3.0 2 Sommaire Présentation de Java ... Langage de programmation

© Rémy Courdier (Révisions M. Gangat) 291996-2003- Java Présentation - Version du cours 3.0

ANNEXETerminologie

JavaBeansJavaBeans architecture provides a way of designing reuseable software components that can be visually manipulated in builder tools. Beans can be simple like buttons, or more complex like a tool to access to databases.

Java Foundation Classes (JFC)The Java Foundation Classes (JFC) are a set of GUI components and other services simplifying the development and deployment of desktop and Internet/Intranet applications.

Java Native Interface (JNI)JNI is the native programming interface for Java that is part of the JDK. The JNI allows Java code to operate with applications and libraries written in other languages, such as C, C++, and assembly. Recommended only for advanced programmers.

Page 30: Présentation de - lim.univ-reunion.frlim.univ-reunion.fr/staff/courdier/old/cours/java/Chap1... · ... Version du cours 3.0 2 Sommaire Présentation de Java ... Langage de programmation

© Rémy Courdier (Révisions M. Gangat) 301996-2003- Java Présentation - Version du cours 3.0

ANNEXETerminologie

JavaServer Pages (JSP)Create dynamic web pages with JSP by embedding scriptlets (Java programming language code) with HL. JSP pages process forms, perform calculations, or do anything else that can be written with the Java programming language.

Java 2 Platform, Enterprise Edition (J2EE)The J2EE platform provides a component-based approach to the design, development, assembly, and deployment of enterprise applications. The J2EE platform gives you a multitiered distributed application model, the ability to reuse components, a unified security model, and flexible transaction control.

Page 31: Présentation de - lim.univ-reunion.frlim.univ-reunion.fr/staff/courdier/old/cours/java/Chap1... · ... Version du cours 3.0 2 Sommaire Présentation de Java ... Langage de programmation

© Rémy Courdier (Révisions M. Gangat) 311996-2003- Java Présentation - Version du cours 3.0

ANNEXETerminologie

Java 2, Micro Edition (J2ME)Java 2 Micro Edition (J2ME) is targeted for the consumer and embedded market. The API specifications are based on Java 2 Standard Edition (J2SE), but modified to meet the unique requirements of each product. J2ME makes it possible to write Java applications for cell phones, smart cards, pagers, and other consumer devices.

Java 2, Standard Edition (J2SE) This download includes the essential compiler, tools, runtimes, and APIs for writing, deploying, and running applets and applications in the Java programming language.

Java Virtual Machine (JVM)The Java virtual machine executes instructions that a Java compiler generates. This run time environment, or JVM, is embedded in various products, such as web browsers, servers, and operating systems.

Page 32: Présentation de - lim.univ-reunion.frlim.univ-reunion.fr/staff/courdier/old/cours/java/Chap1... · ... Version du cours 3.0 2 Sommaire Présentation de Java ... Langage de programmation

© Rémy Courdier (Révisions M. Gangat) 321996-2003- Java Présentation - Version du cours 3.0

ANNEXETerminologie

JDBCJDBC is a Java API for executing SQL statements. By using the JDBC API, you can access almost any data source, from relational databases to spreadsheets to flat files. J2SE includes the JDBC API.

JDKJDK is the short-cut name for the set of Java development tools, consisting of the API classes, a Java compiler, and the Java Virtual Machine interpreter, regardless of which version. The JDK is used to compile Java applications and applets. The most current version is the J2SE., the preferred term these days. If you use J2SE 1.2 and later to develop applications, you are using what's known as the Java 2 Platform.

JINIThe Jini network technology enables any service--from enterprise systems to kitchen appliances--to network smoothly and simply. The Jini architecture lets each service (device or software) tell others how to talk to it, without any administrator settings.

Page 33: Présentation de - lim.univ-reunion.frlim.univ-reunion.fr/staff/courdier/old/cours/java/Chap1... · ... Version du cours 3.0 2 Sommaire Présentation de Java ... Langage de programmation

© Rémy Courdier (Révisions M. Gangat) 331996-2003- Java Présentation - Version du cours 3.0

ANNEXETerminologie

Project SwingThe javax.swing package of classes is used to create GUI components for applets and applications. Project Swing classes enable programmers to specify a different look and feel for each platform, or a uniform look across all platforms. Swing is the project code name for the lightweight GUI components in JFC.

RMIRemote Method Invocation (RMI) lets Java applications communicate across a network. The communicating applications can be running on different computers on opposite sides of the planet. This higher-level and method-based approach to network communications allows access to a remote object as easily as a local object.

ServletsA servlet is an extension to a server that enhances the server's functionality. Servlets are most commonly used to process forms, handle redirects or authenticate user names and passwords, and create dynamic content.