Перейти к содержимому

Пост канала

Java библиотека
  1. фото

    Продвинутый Java-совет: используйте `ClassValue` Если нужно кешировать метаданные отдельно для каждого класса, не обязательно создавать ConcurrentHashMap<Class<?>, Metadata>. private static final ClassValue<Metadata> CACHE = new ClassValue<>() { @Override protected Metadata computeValue(Class<?> type) { return scan(type); } }; Metadata metadata = CACHE.get(MyClass.class); ClassValue лениво вычисляет значение, безопасно работает при конкуренции потоков и хранит отдельный результат для каждого Class. Сбросить кеш можно через remove(). Полезно для reflection, сериализации, мапперов и собственных фреймворков. Java Библиотека | Мы в Телеграм

    Открыть в MAX
    Просмотры
    479
    ER
    1,5%
    Реакции
    7