Tag: weak references

WeakReference和内存泄漏

我正在使用VisualVM分析我的应用程序,我发现堆大小在大约3天内增加了大约7MB。 当我使用内存采样器时,我也看到java.lang.ref.WeakReference在实例编号的前五位。 WeakReference的数量正在增加,GC几乎没有影响。 任何想法?

何时在Java中使用Weak和Phantom引用

我阅读了很多文章,但我不明白 – 在实践中我需要在哪里使用Weak和Phantom参考? 软引用 – 正如我所理解的那样,是缓存的不错选择。 但弱和幻影,我不知道何时使用。 请提供我们需要使用它们的实际任务示例。

ThreadLocal资源泄漏和WeakReference

我对ThreadLocal的有限理解是它存在资源泄漏问题 。 我收集这个问题可以通过在ThreadLocal中正确使用WeakReferences来解决(尽管我可能误解了这一点。)我只是想要一个模式或示例来正确使用带有WeakReference的ThreadLocal(如果存在)。 例如,在此代码片段中,WeakReference将在何处引入? static class DateTimeFormatter { private static final ThreadLocal DATE_PARSER_THREAD_LOCAL = new ThreadLocal() { protected SimpleDateFormat initialValue() { return new SimpleDateFormat(“yyyy/MM/dd HH:mmz”); } }; public String format(final Date date) { return DATE_PARSER_THREAD_LOCAL.get().format(date); } public Date parse(final String date) throws ParseException { return DATE_PARSER_THREAD_LOCAL.get().parse(date); } }

什么时候应该使用弱引用?

我最近遇到了一段带有WeakReferences的Java代码 – 我从未见过它们已部署,尽管我们在介绍时遇到过它们。 这是应该常规使用的东西,还是只有在遇到内存问题时? 如果是后者,它们是否可以轻松改装或代码是否需要严格的重构? 普通的Java(或C#)程序员通常会忽略它们吗? 编辑过度使用WR可以造成任何损害吗?