摘要: 对接入库数据,有时候数据量比较大,需要分批入库,写了一个分批入库的小方法 if (!CollectionUtils.isEmpty(student)) { // 计数器 int count = 1; int total = student.size(); List<StudentEntity> st 阅读全文
posted @ 2020-05-15 17:01 大日很忧伤 阅读(2000) 评论(0) 推荐(0) 编辑
摘要: 1、整体结构 1.6:Segment (继承ReentrantLock)+ HashEntry 1.8: 移除Segment,使锁的粒度更小,Synchronized + CAS + Node (红黑树)+ Unsafe 2、put() 1.6:先定位Segment,再定位桶,put全程加锁,没有获 阅读全文
posted @ 2020-05-15 16:38 大日很忧伤 阅读(350) 评论(0) 推荐(0) 编辑
摘要: 什么是CAS CAS全称为 Compare-And-Swap,理解就是对比交换,是一条cpu的原子指令,cpu先比较两个值是否相等,然后原子的更新某个位置的值 java中为我们提供了AtomicInteger 原子类(底层基于CAS进行更新数据的),不需要加锁就在多线程并发场景下实现数据的一致性 我 阅读全文
posted @ 2020-05-15 13:43 大日很忧伤 阅读(172) 评论(0) 推荐(0) 编辑