关于为什么要有分布式锁这个东西,欢迎阅读我的zk分布式锁的实现,介绍了单机高并发、分布式高并发的解决方案:
用ZooKeeper实现分布式锁
这里再切入本例将使用的场景模拟:商品秒杀,或者说高并发下,对于商品库存扣减操作。我用一个SpringBoot小项目模拟一下该操作。
本例用到的技术栈:
在正式肝代码之前,先来对etcd分布式锁实现的机制和原理做一个了解。
1、什么是Mybatis?
MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。
2、为什么要用Mybatis?
3、Mybatis快速入门
4、Mybatis工作流程
5、完成CRUD操作
6、动态SQL
1、映射文件
2、配置文件
Mybatis【多表连接】
1、Mybatis缓存
2、mybatis和ehcache缓存框架整合
3、Mapper代理方式
4、Mybatis解决JDBC编程的问题
5、Mybatis逆向工程
1、Mybatis与Spring整合
配置文件解析过程分析
1、映射文件解析解析入口
2、解析映射文件
3、Mapper接口绑定过程分析
4、处理未完成解析的节点
1、SQL执行入口
2、查询语句的执行过程
3、更新语句的执行过程
4、SQL执行过程总结
1、内置数据源初始化过程
2、UnpooledDataSource
3、PooledDataSource
1、缓存类介绍
2、CacheKey
3、一级缓存
4、二级缓存
按照上面的过程,4个月的时间刚刚好。当然Java的体系是很庞大的,还有很多更高级的技能需要掌握,但不要着急,这些完全可以放到以后工作中边用别学。
学习编程就是一个由混沌到有序的过程,所以你在学习过程中,如果一时碰到理解不了的知识点,大可不必沮丧,更不要气馁,这都是正常的不能再正常的事情了,不过是“人同此心,心同此理”的暂时而已。
“道路是曲折的,前途是光明的!”
学习编程就是一个由混沌到有序的过程,所以你在学习过程中,如果一时碰到理解不了的知识点,大可不必沮丧,更不要气馁,这都是正常的不能再正常的事情了,不过是“人同此心,心同此理”的暂时而已。
“道路是曲折的,前途是光明的!”
[外链图片转存中…(img-zN4bXLPG-1622613097728)]
[外链图片转存中…(img-81eKI4Sh-1622613097729)]
更多Java核心笔记、真实面经、学习笔记等知识干货可以点击这里免费领取