http://www.java2s.com/Code/Java/Collections-Data-Structure/ExpiringMap.htmcaching TTL basé cache
Q1). Je suis confus pourquoi nous avons besoin d'un verrou lorsque getLastAccessTime est appelé. Cette méthode n'est appelée que par le thread expirer. Q2) Supposons, par exemple, que si la carte est appelée uniquement par un thread, alors nous avons besoin d'un verrou réentrant dans l'objet ExpiringObject. Parce que setLastAccessTime est appelé par le thread uniquement lors de l'appel de la méthode put de Map et que la méthode getLastAccessTime sera appelée par le thread Expirer. La raison pour laquelle je demande est, j'ai testé l'insertion d'objets 1M, Reentrant Lock prend plus de 100MB
ouais j'ai décidé d'utiliser EhCache, mais je voulais quand même savoir la solution. Toutes vos propositions étaient très excellentes. – Paul