Java 使用WeakReference作为本地参考是个好主意吗?

Java 使用WeakReference作为本地参考是个好主意吗?,java,Java,现在我正在开发一个java应用程序。因为我创建了很多方法局部对象。我使用WeakReference在下面的方法中创建这些对象 public void method() { while(count < 10000000) { AnimalBean animal = new WeakReference<AnimalBean>(new AnimalBean()).get(); //----------- HERE MY LOGIC -------

现在我正在开发一个java应用程序。因为我创建了很多方法局部对象。我使用WeakReference在下面的方法中创建这些对象

public void method() {
    while(count < 10000000) {
       AnimalBean animal = new WeakReference<AnimalBean>(new AnimalBean()).get();
        //----------- HERE MY LOGIC -------------
    }
}
public void方法(){
而(计数<10000000){
AnimalBean=new WeakReference(new AnimalBean()).get();
//-----------这是我的逻辑-------------
}
}
我有一个疑问,对局部变量使用WeakReference好吗?如果没有,为什么

提前非常感谢。

这是学习的指南

每当需要对对象的引用时,您应该考虑使用一个引用,但您不希望该引用保护对象不受垃圾收集器的影响。一个典型的例子是当内存使用率过高时(通常使用WeakHashMap实现)希望对其进行垃圾收集的缓存。

弱引用对象,不阻止其引用对象可终结、终结和回收。弱引用通常用于实现规范化映射


假设垃圾收集器在某个时间点确定某个对象是弱可访问的。届时,它将自动清除对该对象的所有弱引用,以及对任何其他弱可及对象的所有弱引用,通过强引用和软引用链可以从这些弱可及对象中获得该对象。同时,它将声明所有以前弱可达的对象都是可终结的。同时或稍后某个时间,它将使那些新清除的弱引用进入引用队列。

这样做会有什么好处?我只想让垃圾收集器快速清除不必要的对象为什么?收集器当前收集垃圾的方式有什么问题?感谢jonK的快速评论,我只想知道这是个好主意,为局部变量创建弱引用是否值得,再次感谢:)不,不是。您不必要地增加了复杂性,并且以这种方式创建了更多的对象。GC在需要时运行,您不需要通过为局部变量创建弱引用来帮助它。感谢您的输入