有人可以解释三个参考类之间的差异(或链接到一个很好的解释)? SoftReference > WeakReference > PhantomReference ,但是什么时候使用每个? 为什么有一个WeakHashMap但没有SoftHashMap或PhantomHashMap ? 如果我使用下面的代码… WeakReference<String> ref = new WeakReference<String>("Hello!"); if (ref != null) { // ref can get collected at any time… System.gc(); // Let's assume ref gets collected here. System.out.println(ref.get()); // Now what?! } …怎么了? 每次发言之前,我是否需要检查ref是否为空(这是错误的,但是我应该怎么做)? 对不起,快速的问题,但我无法理解这些Reference类…谢谢!
我已经阅读了这篇关于这个话题的文章 ,但我并不是很了解它。 在描述概念时,请给出一些build议和示例。