2010-04-29 5 views
1

Comment les appels de méthodes statiques sont-ils gérés par la JVM? alloue-t-il toujours de la mémoire lors d'un appel? Si oui, comment la garbage collection traite-t-elle cette allocation après l'appel de la méthode?android Gestion de la mémoire java

Répondre

2

Qu'entendez-vous par allocation de mémoire? Est-ce qu'il ajoute un cadre de pile? oui bien sûr, pour exécuter la méthode et allouer le stockage variable local. Les méthodes statiques ne sont pas différentes. En fait, ils sont identiques, sauf les méthodes d'instance sont invisibles passé this dans l'appel de la méthode, dans les coulisses.

Les objets qui ont été alloués dans la méthode et qui ne sont plus accessibles après l'arrêt de la méthode (peut-être parce qu'ils ne sont référencés que par une référence locale, locale à la méthode) deviennent immédiatement admissibles au GC. Il n'y a aucune garantie quant à quand le GC fonctionnera bien.

Mais encore une fois ce n'est pas différent pour les méthodes statiques que pour tout autre.