Java基础
kyrie1rv1ng
这个作者很懒,什么都没留下…
展开
-
ThreadLocal介绍及其原理
ThreadLocalThreadLocal可以设置存储属于当前线程的对象,存在当前线程(CurrentThread)的ThreadLocals中,ThreadLocals是ThreadLocalMap类的对象。ThreadLocal的作用:存储单个线程上下文信息。比如存储id等;减少参数传递。比如做一个trace工具,能够输出工程从开始到结束的整个一次处理过程中所有的信息,从而方便debu...原创 2020-04-10 10:37:45 · 192 阅读 · 1 评论 -
Java ConcurrentHashMap分析解读
为了弥补HashMap的并发缺陷和Hashtable的性能不行问题,ConcurrentHashMap来了。ConcurrentHashMap底层也是采用数组+链表+红黑树的数据结构进行存储。相比HashMap,有很多相类似的地方,也有些不一样的新东西。ConcurrentHashMap的Node类 static class Node<K,V> implements Map.Ent...转载 2020-03-02 10:16:37 · 165 阅读 · 0 评论 -
HashMap源码分析
说着前头如果要用HashMap存比较多的键值对,则最好应该在构建HashMap时提供足够的容量,因为HashMap的扩容会重hash和进行整体迁移,耗费性能。关于fast-fail不应该利用迭代器的fast-fail机制在应用里面去实现任何功能,因为fast-fail机制不能保证能检测出并发修改的异常。可以利用fast-fail机制去找程序Bug。fast-fail:某个线程利用迭代器遍历...原创 2020-03-01 22:45:01 · 73 阅读 · 0 评论