GC signifie garbage collection (Gabage Collection). Le traitement de la mémoire est l'endroit où les programmeurs sont sujets à des problèmes. L'oubli ou un recyclage incorrect de la mémoire peut entraîner une instabilité ou même un crash du programme ou du système.
La fonction GC fournie par Java peut détecter automatiquement si l'objet dépasse la portée pour atteindre l'objectif de récupération automatique de la mémoire. Le langage Java ne fournit pas de méthode d'opération explicite pour libérer la mémoire allouée.
GC est le garbage collector. Les programmeurs Java n'ont pas à se soucier de la gestion de la mémoire car le garbage collector s'en charge automatiquement. Pour demander le garbage collection, vous pouvez appeler l'une des méthodes suivantes :
Runtime.getRuntime().gc()Java est développé à partir de C++. Il abandonne certaines choses lourdes et sujettes aux erreurs en C++. L'un d'eux est ce GC.
Lors de l'écriture d'un programme C/C++, le programmeur définit une variable, ce qui signifie ouvrir un espace correspondant dans la mémoire pour stocker la valeur. Quelle que soit la taille de la mémoire, elle est limitée, donc lorsque le programme n'a plus besoin d'utiliser une certaine variable, il doit libérer cette ressource d'espace mémoire afin que d'autres variables puissent l'utiliser. En C/C++, la libération d'espace mémoire variable inutile doit être résolue par le programmeur lui-même. C'est-à-dire que lorsque le programmeur pense que la variable est inutile, il doit écrire un code pour libérer la mémoire qu'elle occupe. De cette manière, les fuites de mémoire et le gaspillage de ressources peuvent être évités au maximum. Mais c'est évidemment très fastidieux. Lorsque le programme est relativement volumineux et qu'il comporte de nombreuses variables, les programmeurs oublient souvent de libérer de la mémoire ou libèrent de la mémoire alors qu'elles ne devraient pas être libérées. De plus, la libération de mémoire ne devrait pas être une chose à laquelle les programmeurs devraient prêter attention du point de vue du développement. Ce que les programmeurs doivent faire devrait être d'implémenter les fonctions requises du programme au lieu de dépenser beaucoup d'énergie pour allouer et libérer de la mémoire. Avec GC en Java, les programmeurs n'ont pas besoin de libérer manuellement de l'espace mémoire. Lorsque la machine virtuelle Java constate que les ressources mémoire sont limitées, elle nettoie automatiquement l'espace mémoire occupé par les variables inutiles. Bien entendu, si nécessaire, les programmeurs peuvent utiliser explicitement System.gc() dans un programme Java pour forcer un nettoyage immédiat de la mémoire.
Étant donné que la déclaration explicite consiste à effectuer une analyse complète de la mémoire du tas, c'est-à-dire Full GC, toutes les activités doivent être arrêtées (Stop The World Collection). Votre application peut-elle résister à cela ? Cela montre que l'appel de System.gc() n'est qu'une suggestion à la machine virtuelle et peut ne pas être exécuté car System.gc() est exécuté dans un thread avec une très faible priorité.
Site Web php chinois, un grand nombre de
Tutoriels d'introduction à Javagratuits, bienvenue pour apprendre en ligne !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!