la galaxie java

Post on 16-Jun-2022

10 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1 of 30

LA GALAXIE JAVA

La galaxie Java

2 of 30

La galaxie JAVA

st-ce que ça

La galaxie Java

bernard.amade@france.sun.com

• Les lignes de force

• Les raisons d’un succès

• JAVA dans le systèmed’information

• Comment ça marche? (et emarche?)

• L’Objet selon Java

3 of 30

Les lignes de force

La galaxie Java

bernard.amade@france.sun.com

code

données

réseau

APPLET

4 of 30

Les lignes de

/modularité

La galaxie Java

bernard.amade@france.sun.com

force

• code multi-plateformes

• code dynamique

• organisation

• sécurité

• multi-tâches

5 of 30

programmer en

j’adore

A.F

au

cillo

n

La galaxie Java

bernard.amade@france.sun.com

Java?

• formulations élégantes

• souci constant de génielogiciel

• dispositifs de sécurité

• compromis bien dosés

6 of 30

techniques

La galaxie Java

bernard.amade@france.sun.com

complémentaires

• composants “beans”

• e.j.b.

• servlets

• distribution (RMI, JINI)

réseau

7 of 30

librairies

/S, E/S objets

ccès B.D.D.

objets distants

réseau

La galaxie Java

bernard.amade@france.sun.com

I.H.M. portables, graphique

utilitaires programmation

internationalisation

E

sécurité

calculs

acomposants dynamiques

8 of 30

extensions

b.d.d, transactions

composants d’entreprise

échanges sécurisés

rés

e, deploiement

La galaxie Java

bernard.amade@france.sun.com

graphique, 3D, multimedia

utilitaires devt.

eau, services répartis, annuaires

embarqué

JavaCard,....

systèm

9 of 30

Java dans le système

vellesations pourvellesctures

La galaxie Java

bernard.amade@france.sun.com

d’information

de nouapplicde nouarchite

j’adopte

A.F

au

cillo

n

10 of 30

client léger sur Web

“navigateur”

Applet

HTMLXML, ...

La galaxie Java

bernard.amade@france.sun.com

serveurHTTP

Servlets

11 of 30

client “lourd”

application

et

La galaxie Java

bernard.amade@france.sun.com

serveurdéploiement

contrôle

serveur

applicatif intra/extra-n

12 of 30

nota: Java comme langage d’extension

ication non JAVA

chassement

réseau,E/S

La galaxie Java

bernard.amade@france.sun.com

Appl

en

J.N.I

CORBA

13 of 30

serveurs d’application

La galaxie Java

bernard.amade@france.sun.com

RESSOURCES

appl.A

appl.B

appl.C

persistance

14 of 30

serveurs hiérarchisés

La galaxie Java

bernard.amade@france.sun.com

déploiem

ent/m

ainte

nance

échanges a

pplicatif

s

15 of 30

services “spontanés”

La galaxie Java

bernard.amade@france.sun.com

16 of 30

Comment ça marche ?

e de

librairiesjava

ge

code)ions JVM

me de type B

La galaxie Java

bernard.amade@france.sun.com

OSsystème de

JVM(interpréteur spécifique)

librairiesjava

fenêtrageOS

systèm

JVM(interpréteur spécifique)

fenêtra

fichier binaire (pseudo-conforme aux spécificat

plate-forme de type A plate-for

17 of 30

techniques d’exécution

ERPRETE

MPILATEURA LA VOLEE (JIT)

codes natifsen mémoire

La galaxie Java

bernard.amade@france.sun.com

152 invokestatic #66 <Methodjava.lang.String valueOf(char)>155 astore_3156 goto 203159 aload_0160 getfield #56 <Field char lastOp>163 bipush 61165 if_icmpne 194168 aload_0169 aconst_null170 putfield #58 <Fieldjava.math.BigDecimal result>173 aload_0174 bipush 43176 putfield #56 <Field char lastOp>

INTlit, exécute

lit, exécute

.... CO

compile le fichieren codes natifset les exécute

compilationoptimisée

interprétationen back-up

HOTSPOT

18 of 30

sécurité

e

isés :

dbox”)

ues)

La galaxie Java

bernard.amade@france.sun.com

• chargeurs de classes

• vérificateur de pseudo-cod

• espaces d’exécution sécur

* politique par défaut (“san

* politiques personnalisées

(codes authentifiés

+ autorisations spécifiq

19 of 30

dans la soute ....

émoire

e du tas)

s

e)

La galaxie Java

bernard.amade@france.sun.com

• gestion automatique de la m

(glaneur de mémoire

+ réorganisation dynamiqu

• gestion de processus léger

(ordonnanceur intégré

ou threads natifs du systèm

20 of 30

L’Objet selon JAVA

C++ !

La galaxie Java

bernard.amade@france.sun.com

• ça ressemble à du C++

• ça n’a pas le “goût” du C++

• ce n’est absolument pas du

21 of 30

La définition de classe

structeur

La galaxie Java

bernard.amade@france.sun.com

import fr.emse.medialab.util.* ;

public class UneClasse extends SuperClasse {

// membres

public final String oid ;

private Chose obj ;.....

public setChose(Chose arg) {// mutateur classique

obj=arg ;

}

public static class Comparator extends

Chose.Comparator {// classe membre!

int compare(Object o1, Object o2){

return super.compare( ((Unclasse)o1).obj,

((UneClasse)o2).obj) ;

}

} // pas de surcharge d’opérateur

// non membres

public UneClasse(Truc truc, Chose obj){//con

super(truc);

oid = truc.toString() ;......

}//pas de destructeur (ou presque)

}

// RIEN EN DEHORS DE LA CLASSE!

22 of 30

rien hors de la classe

tions

tionnent par classes

La galaxie Java

bernard.amade@france.sun.com

• pas de variables ou de fonc“globales”

• pas de fichier “include”

les contrôles de types foncintrospection du binaire des

double ix = Math.sin( iy * Math.PI) ;

double iz = StrictMath.sin(valeur) ;

23 of 30

encapsulation

dans des

:

ate ),

défaut),

éritage

La galaxie Java

bernard.amade@france.sun.com

Les classes sont regroupées“packages”fr.emse.medialab.graphics

edu.mit.medialab.graphics

L’encapsulation se considère

• au niveau de la classe (priv

• au niveau du package (par

• au niveau d’une relation d’h(protected )

24 of 30

types

nstance!

r

on}

ance virtuelles)

La galaxie Java

bernard.amade@france.sun.com

type variable != classe de l’ i

• aspect conceptuelManager leSousChef; // extends Salarie ....

Manager lePatron = new PDG(...); // extends Manage

Salarie[] employés = { leLampiste, leSousChef, lePatr

• aspect “physique”

• aspect évaluation (méthodes d’inst

PDG chef = new PDG(..);

Manager reChef = chef ;

// tout est “référence”

reChef

chef

25 of 30

polymorphisme: héritage

classe

trat”

avée

cification des méthodes

surchargerclasse

tive deal )

La galaxie Java

bernard.amade@france.sun.com

• on n’hérite que d’une seule

• on ne peut aggraver le “con

* pas d’encapsulation aggr

* pas “plus” d’exceptionle type des exceptions propagées fait partie de la spé

* par contre possibilité de des méthodes de la super-

• on peut bloquer toute tentaredéfinition (modificateur fin

26 of 30

types abstraits purs

;

essager { {

ts Messager { {

oumpf.fr”) ;

nvoiMessage (

La galaxie Java

bernard.amade@france.sun.com

public class Client {.....Messager messager ;.....

public interface Messager {public void envoiMessage(String message)

}

public class Fax extends Telephone implements Mpublic void envoiMessage(String message)...

public class EMail extends AgentReseau implemenpublic void envoiMessage(String message)...

Client dupond, durand ;....dupond. messager = new Fax(“0141331733”) ;durand. messager = new EMail(“durand@schtr....for (int ct= 0 ; ct < tableauClient.length; ct++){

tableauClient[ct]. messager.e“Tout va bien!”);

}

27 of 30

ase de Données

édiaire

La galaxie Java

bernard.amade@france.sun.com

.

requêtes texte

B

pseudo-base (tests)

serveur interm

IHM

accès/ réseau

INTERFA

CE S

ERVEU

R

28 of 30

Classes membres

La galaxie Java

bernard.amade@france.sun.com

public class Pile {private Object[] tableExtensible ;private int sommetDePile ;...private class ParcoursPile

implements java.util.Enumeration {int index = sommetDePile ;public boolean hasMoreElements(){ return index >= 0;}public Object nextElement(){ return tableExtensible [index--];}

} // fin parcoursPile

public java.util.Enumeration elements() { return new ParcoursPile();}...

}

29 of 30

Autres caractéristiques

’accès

rtition sur

La galaxie Java

bernard.amade@france.sun.com

• gestion exceptions

• processus et concurrence d

• prise en compte de la réparéseau

• documentation intégrée

30 of 30

des savoir-faires en

pratiques

tion

La galaxie Java

bernard.amade@france.sun.com

devenir

• idiomes, “patterns”, bonnes

• relations conception/réalisa

top related