上一页 1 ··· 5 6 7 8 9 10 11 下一页
摘要: 对于"StampedLock"提供了三种锁模式 读锁-互斥 写锁-共享 优势读锁 对于读锁和优势读锁的区别在于,对于读锁是利用cas操作变更状态,但存在一定的几率出现读等待的情况,而对于优势读操作,只需要简单的位运算操作,如果在排他锁持有情况下,这直接返回0,反之则返回非0版本号数据; 相对而言优势 阅读全文
posted @ 2020-09-27 14:55 郭星 阅读(247) 评论(0) 推荐(0)
摘要: 对于"ReentrantReadWriteLock" 和reentrantLock的比较 相同点:由于ReentrantReadWriteLock继承至ReentrantLock,因此拥有相同的操作 不同点 提供了读锁和写锁两种不同的锁 读锁:shared 写锁:exclusive 锁降级 在写锁加 阅读全文
posted @ 2020-09-27 14:10 郭星 阅读(129) 评论(0) 推荐(0)
摘要: 使用原子自增和 expire 搭配实现原子操作 @Bean(name = "customStringRedisTemplate") public RedisTemplate<String, String> customStringRedisTemplate(RedisConnectionFactor 阅读全文
posted @ 2020-09-27 13:19 郭星 阅读(1822) 评论(0) 推荐(0)
摘要: ReentrantLock vs synchronized 相同点 可重入 互斥锁 隐性monitor:对synchronized是利用object对象头实现监控操作; 而对于Lock利用newCondition提供的Condition实现 对于monitor的作用主要是为了实现线程通讯 不同点 支 阅读全文
posted @ 2020-09-26 21:16 郭星 阅读(162) 评论(0) 推荐(0)
摘要: 锁定的对象: 对象(Object) 和 类(Class) 对于jvm而言,实际锁定的是Object还是Class 是没有区别的,原因在于Class实际也是一个Object,唯一的不同点在于, Object对象是存在于Heap中,而Class是存在于MetaData(java8+)中; 对于这两种竞态 阅读全文
posted @ 2020-09-24 14:21 郭星 阅读(155) 评论(0) 推荐(0)
摘要: https://en.wikipedia.org/wiki/Merge_sort 合并排序 原理:利用于分治和递归的思想,首先将数据拆分为最小单位,然后从最小单位开始合并排序操作,将小分区逐步合并为最大的分区; 对于合并排序由于在合并操作过程中需要额外的内存空间,因此不属于原地排序算法 稳定性:在合 阅读全文
posted @ 2020-09-22 11:18 郭星 阅读(317) 评论(0) 推荐(0)
摘要: https://en.wikipedia.org/wiki/Quicksort 快速排序 原理:通过中位值(pivot)进行比较来进行不断分区,直到所有的区间达到最小(容量为1)时,此时结果就是有序的; 在执行对比操作时是从低位到高位的对比操作,通过不断摘除中间值的方式来实现排序 快速排序所有的移动 阅读全文
posted @ 2020-09-21 15:31 郭星 阅读(215) 评论(0) 推荐(0)
摘要: https://en.wikipedia.org/wiki/Insertion_sort 对于插入排序 原理:从低位到高位执行遍历操作,遍历到的元素作为对比元素存在;对于对比操作,实际是通过高位到低位,将比较元素和[0,比较元素所在索引-1]区间的数据进行对比操作以及交换(移动)操作; 对于移动操作 阅读全文
posted @ 2020-09-21 11:38 郭星 阅读(206) 评论(0) 推荐(0)
摘要: https://en.wikipedia.org/wiki/Bubble_sort 原理:从低位到高位的对比排序;通过compare和 swap达到排序的目的 对于冒泡排序由于其并不需要额外的内存空间,只需要原数组就可以达到排序的目的,不需要额外的内存空间,因此属于原地排序 稳定性分析 从低位到高位 阅读全文
posted @ 2020-09-21 10:49 郭星 阅读(230) 评论(0) 推荐(0)
摘要: public static void main(String[] args) { List<Integer> list = new ArrayList<>(Arrays.asList(1, 2, 3, 4)); // 常规删除 // list.removeIf(next -> next == 3); 阅读全文
posted @ 2020-09-17 17:41 郭星 阅读(1248) 评论(0) 推荐(0)
上一页 1 ··· 5 6 7 8 9 10 11 下一页