MySQL 锁机制
参考: https://relph1119.github.io/mysql-learning-notes/#/mysql/25-%E5%B7%A5%E4%BD%9C%E9%9D%A2%E8%AF%95%E8%80%81%E5%A4%A7%E9%9A%BE-%E9%94%81 https://xiaolincoding.com/mysql/lock/how_to_lock.html MySQL锁机制详解快照读与锁定读MySQL中读可以分作两类 快照读: 也就是普通的select, 读-读场景不需要额外的机制保证并发安全, 而读-写场景通过MVCC来实现隔离级别 锁定读: 会加锁的读, 是select ... for update或者select ... lock in share mode , 在MySQL中update, delete操作会分成两部分, 读取阶段和写入(删除)阶段, 前一阶段就属于锁定读 共享锁(S)和互斥锁(X)共享锁: 如果一个事务给一个表(记录)加了S锁, 其他事务能再获取这个S锁, 但是该事务和其他事务都不能再获取这个表(记录)的X锁 互斥锁...
Java JUC-并发编程面试问题
并发编程问题
Java Colletion-集合框架面试问题
// TODO
Java基础面试问题
Java基础a = a + b 与 a += b 的区别+= 隐式的将加操作的结果类型强制转换为持有结果的类型。如果两个整型相加,如 byte、short 或者 int,首先会将它们提升到 int 类型,然后在执行加法操作。 1234byte a = 127;byte b = 127;b = a + b; // error : cannot convert from int to byteb += a; // ok (因为 a+b 操作会将 a、b 提升为 int 类型,所以将 int 类型赋值给 byte 就会编译出错) 为什么需要泛型?适用于多种数据类型执行相同的代码 引入泛型,它将提供类型的约束,提供编译前的检查 泛型方法泛型方法创建 泛型方法使用 泛型方法创建的时候需要使用<T>来声明这是一个泛型方法, 在传入的参数中需要有Class<T> c参数来指明传入的参数的类型, 然后在方法中通过反射newInstance方法来创建一个新的对象 使用泛型方法的时候, 可以通过Class.forName(“全限定类名”)来...
算法-Binary Sort-二分查找
二分查找典型特征 原数组是有序的, 或者改变原数组顺序不影响答案 我们要找出来一个数字在数组中的位置(标准二分查找题目) 一般化特征 我们能一次性排除解空间中的一半解 我们要找出来解空间中的某一个解的位置 解题通法-红蓝染色法我们能将数组依照单调性分成两部分, 以我们要找出target为例 num >= target的部分染成蓝色, num < target为红色, 我们需要染色的区间是[left, right]或者(left-1, right+1)… [left, right]要染色的区间的含义就是我们现在没有染色也就是不知道其中的元素和target之间的关系 循环不变量(以两端闭区间举例) left - 1始终是红色 right + 1始终是蓝色 思考顺序 首先确定我们怎么确定答案, 这种方式一定是要利用原数组在找到答案方面的单调性, 我们一定能一次性排除一半的解空间 确定下来红蓝染色情况 确定下来没有染色区间的开闭选择(一般是双开区间) 典型例题及实现找到第一个大于等于target的值 闭区间12345678910111213141516...