Вы находитесь на странице: 1из 1

Dans cette partie on veut comprendre comment fonctionne le garbage collector

dans le cas d'une application distribue. Pour une application non distribue, le
garbage collector de Java dtruit tous les objets non rfrencs. Au lancement
d'un programme Java, un ensemble de rfrences racines est dfini. A un instant
donn, un objet accessible depuis une rfrence racine est considr en vie, un
objet non accessible depuis une rfrence racine est considr mort et prt
tre rclam par le garbage collector.

Dans le cas de RMI les choses se compliquent quelque peut. Lorsqu'un objet
Remote est instanci, il peut tre rfrenc directement en local mais il peut
aussi tre indirectement rfrenc par des Stub distants. Par exemple, dans
l'exemple du chat serveur l'objet RemoteConnectionImpl n'est pas directement
rfrenc dans la JVM du serveur o il existe mais il est utilis par le Stub qui a
t envoy au client.

La solution adopte dans RMI est que le runtime RMI garde une rfrence sur
l'objet remote pendant une certaine dure appele lease. A chaque
communication avec l'objet distant le dcompte de temps de lease est remis
zro. S'il n'y a pas de communication c'est la charge du client de renouveler le
lease par un appel distant. Si le client ne renouvelle pas ce lease, le DGC le
considre comme mort.

Pour chaque objet Remote, RMI garde un compteur pour connatre combien de
clients actifs possdent un Stub sur l'objet. Quand le lease d'un client expire et
n'est pas renouvel, le compteur est decrmente. Quand il est zro, l'objet peut
tre rclam par le garbage collector.

Il est possible de dfinir la valeur du lease en utilisant la proprit


-Djava.rmi.dgc.leaseValue=tms o tms est le temps de lease en millisecondes.
Notez que plus le lease est petit, plus les performances seront dgrads par des
clients qui communiquent uniquement pour renouveler le lease. Plus le lease est
lev, plus les chances d'occuper la mmoire par des objets remote obsoltes
sont grandes.

Notez bien qu'il n'y a rien a faire pour que le DGC de RMI fonctionne. Le but de
cette section est uniquement de montrer que le DGC est bien actif dans une
application RMI donne.

Вам также может понравиться

  • Fiches Classe
    Fiches Classe
    Документ320 страниц
    Fiches Classe
    ola
    Оценок пока нет
  • Épreuve Langue 5ème
    Épreuve Langue 5ème
    Документ3 страницы
    Épreuve Langue 5ème
    Manel Elloumi Ep Chaabene
    Оценок пока нет
  • Examen2emeSessionNSY205 2014-2015
    Examen2emeSessionNSY205 2014-2015
    Документ8 страниц
    Examen2emeSessionNSY205 2014-2015
    Manel Elloumi Ep Chaabene
    Оценок пока нет
  • Img 001
    Img 001
    Документ1 страница
    Img 001
    Manel Elloumi Ep Chaabene
    Оценок пока нет
  • Uml Corr01
    Uml Corr01
    Документ4 страницы
    Uml Corr01
    Saad ElMadani
    Оценок пока нет
  • Uml Corr01
    Uml Corr01
    Документ4 страницы
    Uml Corr01
    Saad ElMadani
    Оценок пока нет
  • Examen2emeSessionNSY205 2014-2015
    Examen2emeSessionNSY205 2014-2015
    Документ8 страниц
    Examen2emeSessionNSY205 2014-2015
    Manel Elloumi Ep Chaabene
    Оценок пока нет
  • Uml Corr01
    Uml Corr01
    Документ4 страницы
    Uml Corr01
    Saad ElMadani
    Оценок пока нет
  • Chapitre 1
    Chapitre 1
    Документ14 страниц
    Chapitre 1
    m1chh
    Оценок пока нет
  • 2015 10 02 Technologies WAN COURS
    2015 10 02 Technologies WAN COURS
    Документ132 страницы
    2015 10 02 Technologies WAN COURS
    Manel Elloumi Ep Chaabene
    Оценок пока нет
  • Cours Langage SQL
    Cours Langage SQL
    Документ36 страниц
    Cours Langage SQL
    Manel Elloumi Ep Chaabene
    Оценок пока нет