Wenn Sie eine Bibliothek auswählen, ist dies mühsam und Sie möchten nicht zu viel nachdenken, sondern Objekte zwischenspeichern. Wenn der Cache klein ist und Sie den Cache nicht leeren müssen, während die JVM ausgeführt wird. Es muss jedoch die parallele Verarbeitung unterstützen. Mit diesen Anforderungen können Sie es problemlos implementieren, ohne dass eine Bibliothek erforderlich ist.
ConcurrentHashMap # computeIfAbsent
verwenden
Wenn Sie beispielsweise ein öffentliches Feld von einer bestimmten Klasse abrufen möchten, sieht es so aus.
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