title: Java: difference between strong/soft/weak/phantom reference
body: <p>I have read <a href="https://web.archive.org/web/20110303225354/http://weblogs.java.net/blog/2006/05/04/understanding-weak-references" rel="noreferrer">this article</a> about different types of references in Java (strong, soft, weak, phantom), but I don't really understand it.</p>
  <p>What is the difference between these reference types, and when would each type be used?</p>