I have read this article about different types of references in Java (strong, soft, weak, phantom), but I don't really understand it.

What is the difference between these reference types, and when would each type be used?

Edit
Report