ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
1. 首先,Hashtable底层是通过数组加链表实现的,这点和JDK1.8之前的HashMap差不多。 2. 其次,Hashtable是不允许key或者value为null的。 3. 并且,Hashtable的计算索引方法,默认容量大小,扩容方法都与HashMap不太一样。 4. 线程安全,Hashtable之所以线程安全,大部分方法都是使用了synchronized关键字,虽然JDK优化了synchronized,但在方法上使用该关键字,无疑仍旧是效率低下的操作。 5. 不建议使用,以后说不定哪天就废掉了。连官方文档也说了,如果在非线程安全的情况下使用,建议使用HashMap替换,如果在线程安全的情况下使用,建议使用ConcurrentHashMap替换。