Есть некоторое действие, которые вызывается пользователем. Нужно сделать так, чтобы это действие можно было юзать раз в N секунд. Для реализации я решил использовать com.google.common.cache.LoadingCache
.
private static final LoadingCache<String, Boolean> cache = CacheBuilder.newBuilder()
.expireAfterWrite(10, TimeUnit.SECONDS)
.maximumSize(50)
.build(new CacheLoader<String, Boolean>() {
@Override
public Boolean load(@Nonnull String name) throws Exception {
return true;
}
});
public static Boolean get(String name) {
return cache.getIfPresent(name);
}
Т.е. вызов метода get
будет всегда возвращать мне true в случае, если ключ присутствует в кэше, а иначе null. Как можно заменить из создания LoadingCache
-> expireAfterWrite(N, TimeUnit.SECONDS)
внесённые данные будут удаляться спустя N секунд после добавления их туда. Мне не нравится то,что я везде таскаю за собой не нужный boolean, есть ли такой же "автоматический" кэш для одного значения? Если нет, то как лучше улучшить текущий код?
Виртуальный выделенный сервер (VDS) становится отличным выбором
заранее извиняюсь за столь общий и размытый вопросСобираемся писать приложение (некоммерческое) для платформы Android, хотим прикрутить к нему...
Ввожу команду и она пишется в репозиторий, и в бдid: 1 name:
Допустим у меня есть байт, и в нем я хочу хранить 8 boolean'овКак мне читать и записывать отдельные биты в байт? Пожалуйста без битсета, я хочу понять...
Есть 2 блока которые на больших экранах нужно отобразить в один ряд с выравниванием содержимого по левому краю, а на маленьких в два ряда и с выравниванием...