风中帆布鞋

文章
7
资源
0
加入时间
3年0月21天

Synchronized和Lock的区别,面试问Java提供了synchronized,为什么还要提供Lock呢?

Synchronized和Lock的区别:Synchronized编码更简单,锁机制由JVM维护,在竞争不激烈的情况下性能更好。Lock功能更强大更灵活,竞争激烈时性能较好。1.性能不一样:资源竞争激励的情况下,lock性能会比synchronize好,竞争不激励的情况下,synchronize比lock性能好,synchronize会根据锁的竞争情况,从偏向锁–>轻量级锁–>重量级锁升级,而且编程更简单。2.锁机制不一样:synchronize是在JVM层面实现的,

C++ 查找算法-有序集合

有序集合查找算法最出名的应该算是二分法,应用场景广泛,就是通过定位中点,判断key位于左还是右,或是命中,不断缩小查找范围,时间复杂度O(log2 N),可以说比线性查找好太多,也是有序集合中必备查找算法,原理也很简单。在二分法的基础上衍生出了插值查找和Fibnacci查找算法,原理是相同的,唯一的不同就是关于“中点”的定位方式,插值就是通过计算key在集合中的比例来确定"中点",优势很多时候还是