Comme je l'ai trouvé quelque part sur le web, les éléments suivants peuvent entraîner des fuites de mémoire. Par exemple:Comment gérer les fuites de mémoire dans Java EE?
- ResultSets et objets Déclaration
- DataLists
- Collections
- variables statiques et des classes
- singletons
- HttpSession et HttpRequest
haricots gérés dans mon application JSF sont pour la plupart @ViewScoped
, donc je pensait qu'après avoir quitté la vue, GC avait assez d'informations pour publier des données, des objets, etc. Mais il n'a pas ou non completelly:
Je suis juste la fermeture des sessions de mise en veille prolongée manuellement (en utilisant enfin), mais c'est tout. Le reste des choses que je m'attendais de GC.
Pourriez-vous me dire,
- comment trouver les objets concrets sont rester en mémoire?
- comment libérer des objets après avoir quitté une vue manuellement? quelque chose comme un destructeur ..?
- Quelles sont les meilleures pratiques pour gérer les fuites de mémoire?
JHat, MAT (http://www.eclipse.org/mat/) peut être utile. Même, JConsole donne assez d'indices sur les fuites de mémoire - ou du moins ce qui monopolise toute votre RAM. – Nishant
Merci, Nishant, je vais essayer MAT :) – gaffcz
MAT m'aide beaucoup, faites la réponse, si vous voulez, et je vais l'accepter :) – gaffcz