源码阅读
zzypiper
Box stop here.
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Semaphore源码
Semaphore源码1 概述1.1 简介1.2 特性1.3 使用2 源码2.1 类结构2.2 源码分析2.2.1 构造2.2.2 内部类Sync2.2.3 内部类NonfairSync2.2.4 内部类FairSync2.2.5 Semaphore其他API参考1 概述1.1 简介信号量为多线程协作提供了更强大的控制方法。广义上说,信号量是对锁的扩展。synchronized和ReentrantLock一次都只允许一个线程访问一个资源,而信号量可以指定多个线程同时访问某一个资源。public Se原创 2020-07-31 15:07:01 · 240 阅读 · 0 评论 -
HashMap
HashMap1 概述2 数据结构(jdk1.8)2.1 链表2.2 红黑树2.2.1 红黑树的特性2.2.2 jdk1.8 实现2.2.2.1 类结构2.2.2.1 插入操作1 概述在JDK1.8之前,HashMap采用数组+链表实现,即使用链表处理冲突,同一hash值的节点都存储在一个链表里。但是当位于一个桶中的元素较多,即hash值相等的元素较多时,通过key值依次查找的效率较低。而JDK1.8中,HashMap采用数组+链表+红黑树实现,当链表长度超过阈值(8)时,将链表转换为红黑树,这样大大转载 2020-07-11 15:03:46 · 177 阅读 · 0 评论 -
String源码 1.8
String源码1 问题提出2 常用方法charAtsubstringtoCharArrayequals1 问题提出2 常用方法charAt检查边界,无错则返回。 public char charAt(int index) { if ((index < 0) || (index >= value.length)) { throw new StringIndexOutOfBoundsException(index); }原创 2020-05-18 14:24:57 · 228 阅读 · 0 评论
分享