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