我無法修改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類是巨大的。多線程進行映射時,內存足跡影響性能。 –