- 博客(3)
- 收藏
- 关注
原创 pom文件中denpendencymanagement和dependency的区别
主要是用在父工程里边,一般是用在最顶层的父pom,子模块继承之后锁定版本,能让所有的子项目中引用一个依赖不用显示的列出版本号,Maven会沿着父子层向上走,直到找到一个拥有dependencyManagement元素的项目,然后他就会使用这个dependencyManagement元素中指定的版本号。这么做的好处就是,如果有多个子项目都引用同一样的依赖,则可以避免在每个使用的子项目中的声明一个版本号。只需要在顶层父容器里更新,而不需要对子项目逐一进行修改,另外如果某个子项目中需要另外的版本,只需要声明ve
2020-05-28 16:07:42
718
原创 为什么MySQL索引选择B+树
索引的定义:帮助MySQL高效获取数据的数据结构,可以简单理解为“排好序的快速查找B+树数据结构”。B+树中的B代表的是平衡(balance),而不是二叉(binary)。B树(balance tree多路平衡查找树):(B-树就是B树,中间的横线并不是减号)B+树(加强多路查找树)为什么选择B+树:使用反推的方式来看:1.没有索引:全部遍历(数据量小,时间复杂性O(n))2.Hash:时间复杂度是O(1),遍历只进行一次,{哈希对于增删改查的平均时间复杂度都是O(1),树结构,例如平衡二叉搜
2020-05-18 23:12:10
408
原创 为什么使用分布式锁
在多线程的环境下,为保证数据唯一性,例如在高并发情况下,如果多条请求同时传入生成订单号(订单号机制:当前时间点+当日已存在的订单数量),此时极有可能出现订单号相同的情况,如果微服务部署在同一台jvm上边可以使用synchronized或者是添加可重入锁的方式规避这种情况,但是在大型环境下,此时服务部署在不同的服务器上边,并非同一台jvm,所以这时候常规加锁机制无法控制高并发情况,就要用到分布式锁。分布式锁的三种实现方式: 1.使用MySQL数据库乐观锁的方式实现(线上环境脑子进水才会用,并发量不够);
2020-05-17 16:06:28
451
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人