http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html
The HashMap class is roughly equivalent to Hashtable, except that it is unsynchronized and permits nulls.
If multiple threads access a hash map concurrently, and at least one of the threads modifies the map structurally, it must be synchronized externally.
Map m = Collections.synchronizedMap(new HashMap(...));
浅拷贝和深拷贝:
http://www.cnblogs.com/acode/p/6306887.html
结合程序实例1和程序实例2,我们发现Student的字段如果不是一个引用时,修改clone()得到对象的该字段(name,
age)时并不会影响原来的对象,但是当字段为一个引用时,修改clone()得到对象的该字段(professor)时并会影响原来的对象。上面实现的clone()方法为浅复制(shadow copy)