A soft reference is one of the strengths or levels of 'non strong' reference defined in the Java programming language, the others being weak and phantom. In order from strongest to weakest, they are: strong, soft, weak, phantom.
Soft references behave almost identically to weak references, but they are garbage-collected less aggressively: the garbage collector will always collect weakly referenced objects, but will only collect softly referenced objects when its algorithms decide that memory is low enough to warrant it. Soft and weak references provide two quasi-priorities for non-strongly referenced objects.
Soft references may be used, for example, when writing a cache: weakly referenced objects may disappear too quickly to make the cache useful.
- Java developer article: 'Reference Objects and Garbage Collection'
- Nicholas, Ethan (May 4, 2006). "Understanding Weak References". java.net. Retrieved October 1, 2010.
|This programming language–related article is a stub. You can help Wikipedia by expanding it.|