我有一个JavaFX控制器,可以从类中的许多不同方法调用方法。
sendToNode(String name, Map<String, Object> p){}
现在,在每个方法中,我将创建一个新地图并用参数填充它。
public void someMethod(){
Map<String, Object> p = new HashMap();
p.put("a", 777);
sendToNode("slave", p);
}
创建一个类变量并且每次都清除它而不是在每个方法中实例化一个新变量更好(内存和效率)吗?
public MyClass{
Map<String, Object> p = new HashMap();
public void someMethod(){
p.clear();
p.put("a", 777);
sendToNode("slave", p);
}
}
答案 0 :(得分:2)
每次创造本身都更好;性能打击是如此之小,以至于你真的不应该关心(你可能有更好的优化场所)。
此外,通过制作单个类变量并将其清除,您将引入并发问题,以后需要解决的问题会更加复杂,并且可能会消除您看到的任何性能提升。 / p>
过早优化是万恶之源。