Bonjour.
Tout est dans le titre.
Comment mesurer la taille d'un objet non serializable?
Bonjour.
Tout est dans le titre.
Comment mesurer la taille d'un objet non serializable?
J'ai juste besoin de connaitre la taille d'un objet. Une httpSession en l'occurence, qui contient des objets non serializables.
ce n'est pas possible. De toutes facons, la some des objets présents dans un httpsession ne réprésente pas nécessairement sa taille spécifique. Certains objets peuvant aussi être référencés ailleurs (et c'est souvent le cas). Exemple: tu stocke une session hibernate dans une httpsession, celle-ci référence la config hibernate, la factory et tous les proxy, mais cette masse importante de donnée apparitent logiquement à hibernate, pas à la session http.
Quand tu dis que ce n'est pas possible, je suis un peu sceptique.
Le serveur d'application doit bien allouer une taille pour gérer les sessions (même si celles-ci ne sont pas serializables).
Il n'y a pas un outil qui permette d'évaluer ça? Moins lourd que faire un dump de la mémoire, ou un truc du genre...
Non, comme n'importe quel objet java, c'est la jvm qui se charge de l'allocation au besoin, c'est elle qui gère sa tambouille. En ce qui concerne le serveur d'application, pour lui une session se résume en gros à une Hashmap. Quand la session est détruite, il se contente de déréférencer la hashmap et d'appeler les éventuels listener dedans, c'est le garbage collector qui fait le reste du travail.
Partager