У меня есть приложение, которое имеет несколько очень больших блоков данных, которые требуют много времени для вычислений. Я держу каждый из них как SoftReference, потому что я могу пересчитать их, но это занимает много времени. Так что, пока у меня достаточно памяти, я хочу использовать то, что уже рассчитал. Это именно то, для чего предназначена Java SoftReference.
Однако я действительно хочу ранжировать эти блоки данных, потому что некоторые из них более важны и занимают гораздо больше времени, чем другие, поэтому я хочу, чтобы сборщик мусора собирал их последними.
Мне не нужно решение, где я записываю эти блоки на диск. Я знаю, как это сделать. Я просто хочу иметь возможность установить порядок / приоритет сборки мусора на моих мягких ссылках.