Environnement : jdk1.8
Problème : lors de l'apprentissage de HashMap, j'ai découvert que la méthode afterNodeInsertion était appelée à la fin de la méthode putVal
...
++modCount;
if (++size > threshold)
resize();
afterNodeInsertion(evict);
return null;
J'ai recherché à nouveau la méthode afterNodeInsertion et j'ai découvert qu'elle est appelée à de nombreux endroits, mais son implémentation est
void afterNodeInsertion(boolean evict) { }
Une méthode vide ? ? Vous voulez savoir à quoi sert cette méthode ?
En fait, il a été mentionné dans le code source que ces trois méthodes servent toutes à hériter du service de classe
LinkedHashMap
deHashMap
.HashMap
的LinkedHashMap
类服务的。
🎜La méthodeLinkedHashMap
中被覆盖的afterNodeInsertion
afterNodeInsertion
remplacée dansLinkedHashMap
est utilisée pour rappeler et supprimer le premier objet placé dans la carte🎜