Java
java.util
Arrays
HashSet
TreeSet
Deque
ArrayDeque
ArrayList
LinkedBlockingDeque
Map
HashMap
HashTable
TreeMap
LinkedHashMap
ComputeIfAbsent 在jdk8下的死锁场景
synchronized的锁升级过程
Volatile 关键字
redis 中的Lua脚本
AQS - 从干饭角度解析
ConcurrentHashMap
本文档使用 MrDoc 发布
-
+
首页
HashTable
## 描述 这个类实现了一个哈希表,它将键映射到值。 任何**非null**对象都可以用作键或值。 要从哈希表中成功存储和检索对象,用作键的对象必须实现hashCode方法和equals方法。 Hashtable的实例参考HashMap。 从 Java v1.2 开始,该类经过改造以实现Map接口,使其成为Java Collections Framework的成员。与新的集合实现不同, Hashtable是同步的。**Hashtable没有实现hash冲突的解决方案**。 如果不需要线程安全的实现,建议使用HashMap代替Hashtable 。 如果需要线程安全的高并发实现,则建议使用java.util.concurrent.ConcurrentHashMap ## 底层结构 ``` { private transient Entry<?,?>[] table; private transient int count; // 增长是 int newCapacity = (oldCapacity << 1) + 1; protected void rehash(); } ``` ## 参数 增长比例 = 原大小的两倍+1 负载因子 = 0.75 初始大小 = 16 最大大小 = Integer.MAX_VALUE - 8 = 2^31 - 9 ## 有意思的函数 不推荐使用,用 Collections.synchronizedMap(new HashMap(...)) 或者ConcurrentHashMap代替吧。
寒烟濡雨
2022年3月29日 21:34
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
关于 MrDoc
觅思文档MrDoc
是
州的先生
开发并开源的在线文档系统,其适合作为个人和小型团队的云笔记、文档和知识库管理工具。
如果觅思文档给你或你的团队带来了帮助,欢迎对作者进行一些打赏捐助,这将有力支持作者持续投入精力更新和维护觅思文档,感谢你的捐助!
>>>捐助鸣谢列表
微信
支付宝
QQ
PayPal
Markdown文件
分享
链接
类型
密码
更新密码