![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
java_eehehe
这个作者很懒,什么都没留下…
展开
-
spring5通用日志框架
各种日志技术的关系和作用 主流的log技术名词 log4j <dependency> <!--<groupId>log4j</groupId>--> <!--<artifactId>log4j</artifactId>--> <!--<version>1.2.12</...原创 2020-03-06 17:32:50 · 720 阅读 · 1 评论 -
AQS抽象队列同步器的实现以及java中的并发工具类的实现
下面为自己实现的一个 aqs public class WangAqs { //如何判断一个资源的拥有者 public volatile AtomicReference<Thread> owner=new AtomicReference<>(); //保存正在等待的线程 public volatile LinkedBlocking`在这里插...原创 2020-03-06 17:18:39 · 106 阅读 · 0 评论 -
ConcurrentHashMap1.7源码分析
ConcurrentHashMap1.7 ConcurrentHashMap 和 HashMap 思路是差不多的,但是因为它支持并发操作,所以要复杂一些。 整个 ConcurrentHashMap 由一个个 Segment 组成,Segment 代表”部分“或”一段“的意思,所以很多 地方都会将其描述为分段锁。注意,行文中,我很多地方用了“槽”来代表一个 segment。 简单理解就是,Concu...原创 2020-03-05 16:20:00 · 78 阅读 · 0 评论 -
HashMap1.8
HashMap1.8 Java8 对 HashMap 进行了一些修改,最大的不同就是利用了红黑树,所以其由 数组+链表+红黑树 组成。根据 Java7 HashMap 的介绍,我们知道,查找的时候,根据 hash 值我们能够快速定位到数组的具体下标,但是之后的话,需要顺着链表一个个比较下去才能找到我们需要的,时间复杂度取决于链表的长度,为 O(n)。为了降低这部分的开销,在 Java8 中,当链表...原创 2020-03-05 15:44:56 · 359 阅读 · 0 评论 -
HashMap1.7
HashMap1.7 首先,我们用下面这张图来介绍 HashMap 的结构。 这个仅仅是示意图,因为没有考虑到数组要扩容的情况,具体的后面再说。 大方向上,HashMap 里面是一个数组,然后数组中每个元素是一个单向链表。上图中,每个绿色的实体是嵌套类 Entry 的实例,Entry 包含四个属性:key, value, hash 值和用于单向链表的 next。 capacity:当前数组容量,...原创 2020-03-05 15:29:09 · 164 阅读 · 0 评论