
数据结构
超人不会飞2018
这个作者很懒,什么都没留下…
展开
-
自定义容器:批处理任务
需求 容器容量达到10则批处理,如果超过5s容量没有10,也进行批处理。 实现 /** * @Desc: * @Author: heling * @Date: 2021/5/6 14:49 */ @Slf4j public class BatchHandleList extends Vector<String> { private static volatile BatchHandleList list; //集合容量达到10则批处理 private stat原创 2021-05-06 15:53:49 · 343 阅读 · 0 评论 -
JDK8中HashMap源码细节死扣
在《JDK8中HashMap源码精读》中有留下一些待扣问题,本篇将做解答,并会对7和8中HashMap做一些对比和补充问题。 loadFactor默认值为啥是0.75? 加载因子越小,那么Map更容易达到扩容的条件,扩容频繁,带来的好处就是发送hash碰撞的概率小了,链表短,查询效率高了,缺点就是频繁扩容,损耗性能,就是“空间换时间”; 加载因子越大,就扩容就不那么频繁,那么发生hash冲突的概率就大,链表就会长,查询效率低了,但是空间利用率高了,就是“时间换空间”; 所以,0.75是一个折衷的取.原创 2020-05-10 23:03:04 · 270 阅读 · 0 评论 -
JDK8中HashMap源码精读
1 字段 1.1 字段解读 //默认容量等于16 static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; //最大容量 static final int MAXIMUM_CAPACITY = 1 << 30; //默认加载因子,可以自己调节 static final float DEFAULT_LOAD_FACTOR = 0.75f; final float loadFactor; //链表转红黑树阈值,当>=8时候,转原创 2020-05-10 17:34:06 · 171 阅读 · 0 评论