У меня есть кеш, построенный из карты в SoftReferences. Когда они добавляются, они помещаются в другую очередь для ленивого сжатия с помощью gzip или чего-то подобного. Моя идея такова: я хочу иметь WeakReferences для объектов в очереди сжатия, чтобы, когда задача компрессора доберется до объекта, если он уже ушел, нам не нужно было сжимать его, а также чтобы очередь компрессора не не оставлять живыми объекты, которые в противном случае были бы подвергнуты сборке мусора.
Так что, если есть ровно одна SoftReference и одна WeakReference, применима ли по-прежнему семантика SoftReference?