Lorsque la sélection d'une bibliothèque est gênante et que vous ne voulez pas trop réfléchir mais voulez mettre en cache des objets. Si la taille du cache est petite et que vous n'avez pas besoin de vider le cache pendant l'exécution de la JVM. Cependant, il doit prendre en charge le traitement parallèle. Avec ces exigences, vous pouvez facilement l'implémenter sans avoir besoin d'une bibliothèque.
ConcurrentHashMap # computeIfAbsent
utilisation
Par exemple, si vous souhaitez obtenir un champ public d'une classe spécifique, cela ressemble à ceci.
public class PublicFieldCache {
private static final Map<Class<?>, Field[]> cache = new ConcurrentHashMap<>();
public static Field[] getFields(Class<?> type) {
return cache.computeIfAbsent(type, Class::getFields);
}
}
Recommended Posts