How often have you implemented a cache in your application? Quite a lot? And how often has the cache lead to an OutOfMemoryError? Did you know that you could use something called SoftReference to prevent that? I didn’t too. It’s surprising how such a great feature in Java hasn’t been as popular as it should be. Interested? Read Ethan Nicholas’ post.