{@link HttpCacheStorage} implementation capable of deallocating resources associated withthe cache entries. This cache keeps track of cache entries using {@link java.lang.ref.PhantomReference} and maintains a collection of all resources thatare no longer in use. The cache, however, does not automatically deallocates associated resources by invoking {@link Resource#dispose()} method. The consumer MUST periodicallycall {@link #cleanResources()} method to trigger resource deallocation. The cache can bepermanently shut down using {@link #shutdown()} method. All resources associated withthe entries used by the cache will be deallocated.
This {@link HttpCacheStorage} implementation is intended for use with {@link FileResource}and similar.
Compatibility note. Prior to version 4.4 this storage implementation used to dispose of all resource entries upon {@link #close()}. As of version 4.4 the {@link #close()} methoddisposes only of those resources that have been explicitly removed from the cache with {@link #removeEntry(String)} method.
The {@link #shutdown()} ()} method can still be used to shut down the storage and dispose ofall resources currently managed by it.
@since 4.1