摘要: 共享锁和排他锁 共享锁(读锁):其他事务可以读,但不能写 排他锁(写锁) :其他事务不能读取,也不能写 粒度锁 表级锁 开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低 这些存储引擎通过总是一次性同时获取所有需要的锁以及总是按相同的顺序获取表锁来避免死锁 给表显示加表级锁( 阅读全文
posted @ 2020-04-10 09:30 byene 阅读(128) 评论(0) 推荐(0) 编辑
摘要: MySQL存储结构 MySQL的基本存储结构是页(记录都存在页里面),各个数据页可以组成一个双向链表,每个数据页都会为存储在它里面的记录生成一个页目录,每个数据页中的内容又可以组成一个单向链表。 主键查询 从第一个页开始,沿着双向链表对每一个页进行查找,每个数据页都会为存储在它里面的记录生成一个页目 阅读全文
posted @ 2020-04-09 10:10 byene 阅读(131) 评论(1) 推荐(0) 编辑
摘要: B树 概念 B树也称B-树,它是一颗多路平衡查找树。 每个节点最多有m-1个关键字(可以存有的键值对)。 根节点最少可以只有1个关键字。 非根节点至少有m/2个关键字。 每个节点中的关键字都按照从小到大的顺序排列,每个关键字的左子树中的所有关键字都小于它,而右子树中的所有关键字都大于它。 所有叶子节 阅读全文
posted @ 2020-04-07 15:34 byene 阅读(361) 评论(0) 推荐(0) 编辑
摘要: 排序算法 直接插入排序:将数组中的所有元素依次跟前面已经排好的元素相比较,如果选择的元素比已排序的元素小,则交换,直到全部元素都比较过 希尔排序:将待排序数组按照步长gap进行分组,然后将每组的元素利用直接插入排序的方法进行排序;每次将gap折半减小,循环上述操作;当gap=1时,利用直接插入,完成 阅读全文
posted @ 2020-04-06 03:42 byene 阅读(553) 评论(0) 推荐(0) 编辑
摘要: 工作流程 用户发送请求至前端控制器DispatcherServlet DispatcherServlet收到请求调用HandlerMapping处理器映射器 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherS 阅读全文
posted @ 2020-04-05 16:04 byene 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 什么是Servlet Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容。 狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现 阅读全文
posted @ 2020-04-05 15:30 byene 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 基本原理 处于不同节点的eureka通过Replicate进行数据同步 Application Service为服务提供者 Application Client为服务消费者 Make Remote Call完成一次服务调用 1. 服务启动后向Eureka注册,Eureka Server会将注册信息向 阅读全文
posted @ 2020-04-04 23:58 byene 阅读(339) 评论(0) 推荐(0) 编辑
摘要: Paxos算法是什么? Paxos算法运行在允许宕机故障的异步系统中,不要求可靠的消息传递,可容忍消息丢失、延迟、乱序以及重复。它利用大多数 (Majority) 机制保证了2F+1的容错能力,即2F+1个节点的系统最多允许F个节点同时出现故障。 一个或多个提议进程 (Proposer) 可以发起提 阅读全文
posted @ 2020-04-04 21:38 byene 阅读(680) 评论(0) 推荐(0) 编辑