......
要避免这种问题,只需要牢记一条:要同时复写equals方法和hashCode方法,而不要只写其中一个
HashMap类
HashMap和Hashtable类似,不同之处在于HashMap是非同步的,并且允许null,即null value和null key。,但是将HashMap视为Collection时(values()方法可返回Collection),其迭代子操作时间开销和HashMap的容量成比例。因此,如果迭代操作的性能相当重要的话,不要将HashMap的初始化容量设得过高,或者load factor过低。
我正在动它,你们等着
这样,即使它被调度到休息状态,也不会有其他线程来动这个对象,直到它解锁。
这就是“线程安全”。
而sun之所以要引入 List的原因我个人认为就是在于Vector在设计上没有体现出这个面向对象的原则。包括现在基本都用Map而不用HashTable也是如此
但是这样加重了JVM的负担,影响执行速度