如题……

解决方案 »

  1.   

    这是API文档上说的,只是你要封装下,一面多线程下会出错:注意,此实现不是同步的。如果多个线程同时访问一个哈希映射,而其中至少一个线程从结构上修改了该映射,则它必须 保持外部同步。(结构上的
    修改是指添加或删除一个或多个映射关系的任何操作;仅改变与实例已经包含的键关联的值不是结构上的修改。)这一般通过对自然封装该映射的对象进行同步操作来完成。如果不存在这样的对象,则应该使用 Collections.synchronizedMap 方法来“包装”该映射。最好在创建时完成这一操作,以防止对映射进行意外的非
    同步访问,如下所示:   Map m = Collections.synchronizedMap(new HashMap(...));
      

  2.   


    正解同步是线程安全的,但是要实现同步效率就会有所降低。所以使用 Hashtable 比使用同步的 HashMap 稍快一些。
      

  3.   

    如果我定义了个静态hashtable,多个线程并发都要访问他,我使用的时候就不用清空它的内存了,但是我使用hashmap就要清空它了