
Java基础
文章平均质量分 53
AwhisperY
这个作者很懒,什么都没留下…
展开
-
HashMap到CurrentHashMap
1.HashMap数据结构数组+链表、红黑树。当链表长度大于8时,转为红黑树 ,hashmap初始容量为16,初始化容量要为2的幂指数2.HashMap底层原理HashMap底层由hash数组和单向链表实现,数组中每个元素都是链表,由Node实体类实现,Node实体类中有(key value hash next) Hashmap通过get和put获取和存储。put原理1.调用hash算法算出对象在数组的下标。2.如果容量大于hashmap的容量*负载因子,进行扩容2n.原创 2021-05-19 15:20:15 · 374 阅读 · 0 评论 -
Java基础(一)
1.面向过程和面向对象面向过程是对事务运行步骤分析,用函数依次实现这些步骤面向对象 构成问题的事务分解为对象,由对象进行描述解决问题的步骤2.int Integer自动拆装箱Integer total = 99;内部函数为Integer.valueof(99);装箱public static Integer valueOf(int i) {return i >= 128 || i < -128 ? new Integer(i) : SMALL_VALUES[i + 128];原创 2021-05-12 15:46:44 · 107 阅读 · 0 评论 -
Synchronized 和 ReentrantLock的区别
Synchronized 和 ReentrantLock的区别**1.**实现方法 ; ;Synchronized作为Jvm层面的锁,是java关键字,通过monitor完成,在指令运行时通过monitorenter和monitorexit来上锁,禁止指令重排。 ; ;ReentrantLock作为jdk所提供的API,由CAS保证数据的原子性和volatile保证数据可见性以实现锁。2.Synchrobnized不需要手动释放锁。原创 2021-05-12 15:05:26 · 116 阅读 · 0 评论