如果我们将条带锁彼此非常靠近地放在内存中以用于并发哈希映射,则缓存行大小会影响性能,因为我们将不得不不必要地使缓存无效。如果将填充添加到条带锁数组,它将提高性能。
有人可以解释一下吗?
我有一个非常基本的问题.
下面的代码无法编译(假设Apple Extends Fruit):
List<? extends Fruit> numbers = new ArrayList<>();
numbers.add(new Apple()); //compile time error
Run Code Online (Sandbox Code Playgroud)
当阅读为什么不,我理解的话,但不是概念:).
让我们假设第一个Fruit不是抽象类.我理解,因为我们正在处理多个子类型,所有这些都扩展了Fruit.据说因为我们无法确定水果的确切类型,所以我们不能在收集中加入任何东西.有几件我不明白的事情:
1)显然我们无法知道哪种水果让我感到困惑.在迭代集合时,我们不能通过typeof或其他instanceof检查告诉特定类型吗?
2)假设Fruit是一个具体的类,为什么我们不允许添加Fruit的实例?这似乎是有道理的,因为你至少知道Fruit的API.即使你不知道Fruit的确切子类型,至少你可以在Fruit()上调用标准方法.
我觉得这应该是相当明显的,但有些东西不是为了点击我.任何帮助都很感激.谢谢!