Comment décharger la classe de Java
J'ai été invité à cette question plusieurs fois. Récemment Xyling a posé la même question dans son blog. Ainsi j'ai pensé qu'une explication simple peut être en règle.
Pour décharger une classe vous devez créer un classloader fait sur commande et charger la classe utilisant elle. Le Tomcat la fait et ainsi fait JRun. Vous pouvez regarder en code de Tomcat pour un exemple.
Après que vous soyez fait avec la classe vous devez libérer toutes les références à la classe aussi bien qu'au chargeur de classe en attribuant à nouveau les variables ou en les plaçant pour annuler.
Puis l'attente System.gc () pour décharger la classe ou vous l'appellent directement dans une boucle jusqu'à ce que plus de bytes ne puissent être libérés. l'appeler de quelque manière que normalement fait deux fois le tour.
Note : Vous ne pouvez pas décharger une classe simple. Vous devez décharger le classloader avec lui. Tellement évidemment le classloader de système n'est pas l'approprié à cette tâche.
Note 2 : C'est comment des pages de JSP vous sont rechargé dynamiquement chaque fois changement le code. Et oui c'est pourquoi la première fois prend beaucoup plus longtemps pour charger alors des périodes suivantes.
Classé sous comment à, logiciel de Java, technologie |
|
RSS 2.0 |
Envoyez cet article
Vous pouvez également aimer lire |

