文章目录
1、集合Collection中储存的如果是自定义类对象,需要自定义类重写那个方法?为什么?
需要重写equals方法;因为根据hashCode()方法,他们是两个对象,违反了相同对象必须具有相等的散列码,所以对应的类一定要重写equals()和hashCode()方法,以实现对象相等规则(相等的对象必须具有相等的散列码)。
2、在Hashtable上下文中同步是什么意思?
同步意味着在一个时间点只能有一个线程可以修改哈希表,任何线程在执行hashtable的更新操作前需要获取对象锁,其他线程等待锁的释放。
3、什么叫做快速失败特性
从高级别层次来说快速失败是一个系统或软件对于其故障做出的响应。一个快速失败系统设计用来即时报告可能会导致失败的任何故障情况,它通常用来停止正常的操作而不是尝试继续做可能有缺陷的工作。当有问题发生时,快速失败系统即时可见地发错错误告警。在Java中,快速失败与iterators有关。如果一个iterator在集合对象上创建了,其它线程欲“结构化”的修改该集合对象,并发修改异常 (ConcurrentModificationException) 抛出。
4、怎样使Hashmap同步?
HashMap可以通过Map m = Collections.synchronizedMap(hashMap)来达到同步的效果。
为什么键集是Set,值集是Collectoion,键值集是Set?
在Map中,键是唯一的,不可重复的,故采用Set(其具有互异性),而值是可重复的,故采用Collectoion
键值集主要是key对value的映射,其也是唯一的,不可重复的