WeakReferences are elsewhere e.g. [1]<p>My understanding of SoftReferences is that they sound like they&#x27;re going to be useful in implementing caches, but then cacheing is hard, and generic solutions like a SoftHashMap end up being toys. While they&#x27;re are probably cases where SoftReferences are useful, they&#x27;re not common, hence they&#x27;re not elsewhere.<p>Phantom references are partly due to problems with the way finalize is implemented in Java, and partly due to difficulties writing low level code in a higher level language, hence they&#x27;re slightly Java specific anyway.<p>[1]: <a href="https:&#x2F;&#x2F;developer.mozilla.org&#x2F;en-US&#x2F;docs&#x2F;Web&#x2F;JavaScript&#x2F;Reference&#x2F;Global_Objects&#x2F;WeakMap" rel="nofollow">https:&#x2F;&#x2F;developer.mozilla.org&#x2F;en-US&#x2F;docs&#x2F;Web&#x2F;JavaScript&#x2F;Refe...</a><p><a href="https:&#x2F;&#x2F;community.oracle.com&#x2F;blogs&#x2F;enicholas&#x2F;2006&#x2F;05&#x2F;04&#x2F;understanding-weak-references" rel="nofollow">https:&#x2F;&#x2F;community.oracle.com&#x2F;blogs&#x2F;enicholas&#x2F;2006&#x2F;05&#x2F;04&#x2F;unde...</a>