标签 Java编程 下的文章

为什么哈希/扰动函数能降hash碰撞?因为key.hashCode()函数调用的是键值类型自带的哈希函数,返回一个int类型的散列值。int类型的取值范围是-2147483648到2147483647,大约40亿个可能的映射空间。尽管哈希函数能够将键值映射得相对均匀松散,使得碰撞的概率很小,但问题是一个长度为40亿的数组是无法放入内存中的。

- 阅读剩余部分 -

有哪几种实现ArrayList线程安全的方法?fail-fast是一种可能触发的机制,它实际上表示在迭代集合期间,如果集合结构被修改,将会抛出ConcurrentModificationException异常。尽管如此,ArrayList本身并没有提供线程安全的保证。为了保证ArrayList的线程安全,通常可以采用以下方案之一:

- 阅读剩余部分 -