来自 spring 源:
/** Map with String keys and Object values */
private final Map<String, Object> attributes = new LinkedHashMap<String, Object>(0);
为什么初始容量为0?默认为 16,看起来比平均可以使用的要多得多。 大概平均应该是3或4。 上述代码中的零初始容量是否相关,例如抽象类的技术性质还是还有其他原因?
最佳答案
如果您不确定是否会将元素放入 LinkedHashMap
中,那么将其初始化为 0 是有意义的。
将其初始化为默认大小意味着阻塞某些内存。
关于java - 抽象类中 LinkedHashMap 的初始容量应该始终为零吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24055268/