Java源码
文章平均质量分 70
Franklin_xc
这个作者很懒,什么都没留下…
展开
-
springboot Auto Configuration自动配置
springboot Auto Configuration自动配置原创 2022-06-21 21:50:22 · 407 阅读 · 0 评论 -
ConcurrentHashMap
ConcurrentHashMap 1.8中放弃了Segment臃肿的设计,取而代之的是采用Node + CAS + Synchronized来保证并发安全进行实现,1.8中使用一个volatile类型的变量baseCount记录元素的个数,当插入新数据或则删除数据时,会通过addCount()方法更新baseCount,通过累加baseCount和CounterCell数组中的数量,即可得到元素的总个数; putVal final V putVal(K key, V value, boolean on原创 2021-08-28 01:03:49 · 69 阅读 · 0 评论 -
Java HashMap 深入浅出 源码分析,通俗易懂
HashMap 在数据结构中我门学习过很多种查找的方式 比如顺序查找,折半查找(二分查找),分块查找以及此topic中提到的散列查找。 散列查找也为哈希查找,哈希查找的时间复杂度为O(1),插入的时间复杂度也为O(1),有着比较好的性能,但是始终存在一个难以解决的问题就是哈希冲突。 为了解决这个冲突,衍生出很多的解决办法 拉链法(将有哈希冲突的字符串成一个链表) 开放地址法 线性探测法 平方探测法 为随机序列法 以上方法的本质思想都相同,就是如果遇到了冲突就查找currentPostion+di 每种原创 2021-08-17 23:56:25 · 112 阅读 · 0 评论 -
深入解析PriorityQueue工作原理,详解优先队列,Java源码
PriorityQueue 在算法中我们经常会使用到最大优先队列和最小优先队列(默认是最小优先队列,可以自定义排序规则) 在正式了解源码前我们先看一下他的一些类变量(类中带static的变量为类变量) // 表示初始的容量 private static final int DEFAULT_INITIAL_CAPACITY = 11; // 表示队列的大小 private int size = 0; // 此变量仅可在构造函数的时候初始化 一旦初始化就不可以在改变因为加了final关键字 private fi原创 2021-08-17 01:26:17 · 156 阅读 · 0 评论 -
Java 源码 之 String.CompareTo
Java 源码 之 String.CompareTo public int compareTo(String anotherString) { int len1 = value.length; int len2 = anotherString.value.length; int lim = Math.min(len1, len2); char v1[] = value; char v2[] = anotherString.value; int k = 0;原创 2021-08-14 23:50:24 · 101 阅读 · 0 评论