• Java的JDK下Hashtable与HashMap的区别


    时间角度: Hashtable * @since JDK1.0 HashMap* @since   1.2

    基类与接口角度:

    public class Hashtable<K,V>
    extends Dictionary<K,V>
    implements Map<K,V>, Cloneable, java.io.Serializable

    public class HashMap<K,V>
    extends AbstractMap<K,V>
    implements Map<K,V>, Cloneable, Serializable

    实现了一样的接口,继承自不同的基类(字典)Dictionary<K,V>与(抽象映射)AbstractMap<K,V>。

    线程安全角度:

    HashMap.java :

    * <p><strong>Note that this implementation is not synchronized.</strong>
    * If multiple threads access a hash map concurrently, and at least one of
    * the threads modifies the map structurally, it <i>must</i> be
    * synchronized externally. (A structural modification is any operation
    * that adds or deletes one or more mappings; merely changing the value
    * associated with a key that an instance already contains is not a
    * structural modification.) This is typically accomplished by
    * synchronizing on some object that naturally encapsulates the map.

    Hashtable.java : 

    * Java Collections Framework</a>. Unlike the new collection
    * implementations, {@code Hashtable} is synchronized. If a
    * thread-safe implementation is not needed, it is recommended to use
    * {@link HashMap} in place of {@code Hashtable}. If a thread-safe
    * highly-concurrent implementation is desired, then it is recommended
    * to use {@link java.util.concurrent.ConcurrentHashMap} in place of
    * {@code Hashtable}.

  • 相关阅读:
    实现自己的类加载时,重写方法loadClass与findClass的区别
    MQ中将消息发送至远程队列的配置
    IOS开发之控件篇UITabBarControllor第一章
    IOS开发-图片尺寸
    IOS开发之进阶篇第一章
    AStar算法(转载)
    GEF
    WizardDialog 进度条使用记录
    Struts2学习笔记-jsp中引用struts2框架
    Struts2学习笔记-基本结构
  • 原文地址:https://www.cnblogs.com/rgqancy/p/5794788.html
Copyright © 2020-2023  润新知