Java приоритет SoftReference - PullRequest
       111

Java приоритет SoftReference

1 голос
/ 19 апреля 2020

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

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

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

1 Ответ

0 голосов
/ 19 апреля 2020

Никаких гарантий не накладывается на время, когда очищается мягкая ссылка или порядок, в котором очищается набор таких ссылок на различные объекты.

Как правило, реализации JVM выбирают между очисткой либо недавно -созданные или недавно использованные ссылки.

...