我有一个 JavaFX Controller ,它从类中的许多不同方法调用一个方法。
sendToNode(String name, Map<String, Object> p){}
现在,在每种方法中,我将创建一个新 map 并用参数填充它。
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);
}
}
最佳答案
每次创造本质上都是更好的;性能影响是如此之小,以至于您实际上不应该关心(您可能有更好的地方可以优化)。
此外,通过创建一个类变量并像这样清除它,您将引入并发问题,您稍后必须解决这些问题,这将变得更加复杂,并且可能会消除您看到的任何性能提升。
Premature optimization is the root of all evil.
关于java - 我应该创建一个 Map 对象并在各处引用它,还是在每次需要时实例化它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49765590/