小编soe*_*e18的帖子

了解并发 HashMap 实现的缓存行失效和条带锁

如果我们将条带锁彼此非常靠近地放在内存中以用于并发哈希映射,则缓存行大小会影响性能,因为我们将不得不不必要地使缓存无效。如果将填充添加到条带锁数组,它将提高性能。

有人可以解释一下吗?

caching locking

2
推荐指数
1
解决办法
804
查看次数

苦苦挣扎<?在Java中扩展T> wildcard

我有一个非常基本的问题.

下面的代码无法编译(假设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()上调用标准方法.

我觉得这应该是相当明显的,但有些东西不是为了点击我.任何帮助都很感激.谢谢!

java extends wildcard

2
推荐指数
1
解决办法
2700
查看次数

标签 统计

caching ×1

extends ×1

java ×1

locking ×1

wildcard ×1