以下是两种方法,都创建了 concurrentHashMap 的实例,我的理解是方法 2 是线程安全的,但不是方法 1。但是我正在与同事和他进行对话,因为两者都创建了 concurrentHashMap 的实例,因此方法 1 也是线程安全的还?

方法一:

private static final Map<key, value> map = new ConcurrentHashMap<key, value>();

方法二:
private static final ConcurrentHashMap<key, value> concurrentHashMap = new ConcurrentHashMap<key, value>();

希望对此有任何澄清。

最佳答案

您在两种情况下都创建了 ConcurrentHashMap,因此线程安全性完全相同。
ConcurrentHashMap 实现了 Map 接口(interface),这就是您在示例 1 中调用的接口(interface)。但这对实例化的底层对象没有影响。

10-07 19:30
查看更多