Quelle est la différence entre System.gc()
et Runtime.gc()
?
Les deux sont les même. System.gc()
est effectivement équivalent à Runtime.gc()
. System.gc()
appelle en interne Runtime.gc()
.
La seule différence est que System.gc()
est une méthode de classe où que Runtime.gc()
est une méthode d'instance. Ainsi, System.gc()
est plus pratique.
En regardant le code source: System.gc()
est implémenté comme
Runtime.getRuntime().gc();
Ce n'est donc qu'une méthode pratique.
System.gc()
est équivalent à Runtime.getRuntime().gc()
Runtime.gc()
est une méthode native alors que System.gc()
est une méthode non native qui à son tour appelle Runtime.gc()
System.gc ():
1: C'est une méthode de classe (méthode statique).
2: Méthode non native (code qui n'interagit pas directement avec les ressources matérielles et système).
3: System.gc (), appelle en interne Runtime.getRuntime (). Gc ().
Runtime.gc ():
1: Méthode d'instance.
2: Méthode native (langage de programmation qui interagit directement avec les ressources matérielles et système.).
Dans le système d'exécution, le gc est une méthode d'instance, mais dans la méthode système, le gc est statique.
pour cette raison, nous préférons utiliser system.gc ().