la galaxie java

30
1 of 30 LA GALAXIE JAVA La galaxie Java

Upload: others

Post on 16-Jun-2022

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: LA GALAXIE JAVA

1 of 30

LA GALAXIE JAVA

La galaxie Java

Page 2: LA GALAXIE JAVA

2 of 30

La galaxie JAVA

st-ce que ça

La galaxie Java

[email protected]

• 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

Page 3: LA GALAXIE JAVA

3 of 30

Les lignes de force

La galaxie Java

[email protected]

code

données

réseau

APPLET

Page 4: LA GALAXIE JAVA

4 of 30

Les lignes de

/modularité

La galaxie Java

[email protected]

force

• code multi-plateformes

• code dynamique

• organisation

• sécurité

• multi-tâches

Page 5: LA GALAXIE JAVA

5 of 30

programmer en

j’adore

A.F

au

cillo

n

La galaxie Java

[email protected]

Java?

• formulations élégantes

• souci constant de génielogiciel

• dispositifs de sécurité

• compromis bien dosés

Page 6: LA GALAXIE JAVA

6 of 30

techniques

La galaxie Java

[email protected]

complémentaires

• composants “beans”

• e.j.b.

• servlets

• distribution (RMI, JINI)

réseau

Page 7: LA GALAXIE JAVA

7 of 30

librairies

/S, E/S objets

ccès B.D.D.

objets distants

réseau

La galaxie Java

[email protected]

I.H.M. portables, graphique

utilitaires programmation

internationalisation

E

sécurité

calculs

acomposants dynamiques

Page 8: LA GALAXIE JAVA

8 of 30

extensions

b.d.d, transactions

composants d’entreprise

échanges sécurisés

rés

e, deploiement

La galaxie Java

[email protected]

graphique, 3D, multimedia

utilitaires devt.

eau, services répartis, annuaires

embarqué

JavaCard,....

systèm

Page 9: LA GALAXIE JAVA

9 of 30

Java dans le système

vellesations pourvellesctures

La galaxie Java

[email protected]

d’information

de nouapplicde nouarchite

j’adopte

A.F

au

cillo

n

Page 10: LA GALAXIE JAVA

10 of 30

client léger sur Web

“navigateur”

Applet

HTMLXML, ...

La galaxie Java

[email protected]

serveurHTTP

Servlets

Page 11: LA GALAXIE JAVA

11 of 30

client “lourd”

application

et

La galaxie Java

[email protected]

serveurdéploiement

contrôle

serveur

applicatif intra/extra-n

Page 12: LA GALAXIE JAVA

12 of 30

nota: Java comme langage d’extension

ication non JAVA

chassement

réseau,E/S

La galaxie Java

[email protected]

Appl

en

J.N.I

CORBA

Page 13: LA GALAXIE JAVA

13 of 30

serveurs d’application

La galaxie Java

[email protected]

RESSOURCES

appl.A

appl.B

appl.C

persistance

Page 14: LA GALAXIE JAVA

14 of 30

serveurs hiérarchisés

La galaxie Java

[email protected]

déploiem

ent/m

ainte

nance

échanges a

pplicatif

s

Page 15: LA GALAXIE JAVA

15 of 30

services “spontanés”

La galaxie Java

[email protected]

Page 16: LA GALAXIE JAVA

16 of 30

Comment ça marche ?

e de

librairiesjava

ge

code)ions JVM

me de type B

La galaxie Java

[email protected]

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

Page 17: LA GALAXIE JAVA

17 of 30

techniques d’exécution

ERPRETE

MPILATEURA LA VOLEE (JIT)

codes natifsen mémoire

La galaxie Java

[email protected]

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

Page 18: LA GALAXIE JAVA

18 of 30

sécurité

e

isés :

dbox”)

ues)

La galaxie Java

[email protected]

• 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

Page 19: LA GALAXIE JAVA

19 of 30

dans la soute ....

émoire

e du tas)

s

e)

La galaxie Java

[email protected]

• 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

Page 20: LA GALAXIE JAVA

20 of 30

L’Objet selon JAVA

C++ !

La galaxie Java

[email protected]

• ça ressemble à du C++

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

• ce n’est absolument pas du

Page 21: LA GALAXIE JAVA

21 of 30

La définition de classe

structeur

La galaxie Java

[email protected]

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!

Page 22: LA GALAXIE JAVA

22 of 30

rien hors de la classe

tions

tionnent par classes

La galaxie Java

[email protected]

• 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) ;

Page 23: LA GALAXIE JAVA

23 of 30

encapsulation

dans des

:

ate ),

défaut),

éritage

La galaxie Java

[email protected]

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 )

Page 24: LA GALAXIE JAVA

24 of 30

types

nstance!

r

on}

ance virtuelles)

La galaxie Java

[email protected]

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

Page 25: LA GALAXIE JAVA

25 of 30

polymorphisme: héritage

classe

trat”

avée

cification des méthodes

surchargerclasse

tive deal )

La galaxie Java

[email protected]

• 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

Page 26: LA GALAXIE JAVA

26 of 30

types abstraits purs

;

essager { {

ts Messager { {

oumpf.fr”) ;

nvoiMessage (

La galaxie Java

[email protected]

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(“[email protected] (int ct= 0 ; ct < tableauClient.length; ct++){

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

}

Page 27: LA GALAXIE JAVA

27 of 30

ase de Données

édiaire

La galaxie Java

[email protected]

.

requêtes texte

B

pseudo-base (tests)

serveur interm

IHM

accès/ réseau

INTERFA

CE S

ERVEU

R

Page 28: LA GALAXIE JAVA

28 of 30

Classes membres

La galaxie Java

[email protected]

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();}...

}

Page 29: LA GALAXIE JAVA

29 of 30

Autres caractéristiques

’accès

rtition sur

La galaxie Java

[email protected]

• gestion exceptions

• processus et concurrence d

• prise en compte de la réparéseau

• documentation intégrée

Page 30: LA GALAXIE JAVA

30 of 30

des savoir-faires en

pratiques

tion

La galaxie Java

[email protected]

devenir

• idiomes, “patterns”, bonnes

• relations conception/réalisa