在 Java EE 应用程序中使用弱引用
Use of weak-reference in Java EE application
我有以下代码:
Object obj = new Object();
ThreadLocal<Object> threadLocal = new ThreadLocal<Object>();
WeakReference<Object> weakReference = new WeakReference<Object>(obj);
threadLocal.set(obj);
我的问题是,在 Java EE 应用程序中,当我们使用弱引用时,是否需要显式调用 ThreadLocal.remove()
方法?
如果您不调用 remove,ThreadLocal
将保持对 WeakReference
的引用,但这不会阻止 obj
被垃圾收集。
我有以下代码:
Object obj = new Object();
ThreadLocal<Object> threadLocal = new ThreadLocal<Object>();
WeakReference<Object> weakReference = new WeakReference<Object>(obj);
threadLocal.set(obj);
我的问题是,在 Java EE 应用程序中,当我们使用弱引用时,是否需要显式调用 ThreadLocal.remove()
方法?
如果您不调用 remove,ThreadLocal
将保持对 WeakReference
的引用,但这不会阻止 obj
被垃圾收集。