Я пытаюсь выяснить, какое количество, которое вы указали в Guava CacheBuilder, максимальный размер() и максимальный(), взвешивающие представления.Guava maximumSize или maximumWeight для ограничения объема кеш-памяти
Скажем, у меня есть что-то вроде этого в моем коде,
Cache<String, Object> programCache = CacheBuilder.newBuilder()
.maximumSize(1000)
.build();
ли 1000, что я указал в качестве максимального размера означает, что я могу иметь тысячи различных записей в кэше, прежде чем он начнет выгоняя LRU (независимо от размера объекта)? Если это так, существует ли ограничение на размер объекта?
Или это означает, что у меня есть 1000mb (это MB правильно?) Для работы, и я могу иметь столько объектов в кеше, сколько хочу до 1000mb, прежде чем он начнет выходить из LRU?
Тогда какой именно максимальный вес?
Оценивается, если для обеспечения максимальной кэш-памяти Guava 500 МБ предусмотрена хорошая конфигурация.
Измерение потребления памяти любого типа действительно затруднено (и, вероятно, будет медленным) в Java. Кэш не прилагает усилий. –