我无法修改A类或B类。并且A类& B的尺寸很大(有几个嵌套类和数百个参数)。而多线程,内存足迹正在影响性能。我正在检查所有的方法来减少内存使用量。基本上,我试图限制B类实例的范围,以便GC可以尽早处理它。 (你的信息:我已经知道我可以通过B b = new B(); b.setS(“Calm Down”); a.setB(b);)如何在java中设置创建对象的字段
这里是场景:
Class A{
private B b;
public getB{return b}
public void setB (B b){this.b = b;}
}
Class B{
private String s;
//getters and setters for s}
Class MyNeed{
A a = new A();
// Here I'm trying to create an obj B and set S and then pass that obj to a.setB().
a.setB (new B().setS("Param S Set"));
}
所以我想新的B()对setB()是局部的。所以在下一行中新的B()超出了范围。
但在eclipse中这种方式,我得到错误,setB()不能接受无效。我想这是setS()返回void。
可能是我错过了一些概念。但我想要有这么简单的东西。如何实现这一点。
我对A类或B类都没有任何访问权。而B类是巨大的。多线程进行映射时,内存足迹影响性能。 –