本文小结:介绍了Inodb加行锁的原则。 加锁规则总结 1、三种行锁的规则为: (1)Next-Key是默认锁…
Mysql事务隔离级别之分析线上业务bug
本文概览:子啊“可重复读”的mysql事务隔离级别下分析线上一个bug。 1 问题 正常的代码,通过selec…
Maven依赖版本冲突
本文概览:介绍了版本冲突是什么,如何解决和避免。 1 何为依赖版本冲突 比如项目直接依赖a和b,这两包都依赖c…
XXL-JOB(1) 分布式任务系统选型和XXL-JOB介绍
本文概览:介绍了在选型分布式系统时,我们期待的功能有哪些。xxl-job的功能概览。 1 问题背景 目前定时任…
Maven构建项目的生命周期和插件
本文概览:介绍maven生命周期和插件。 1 生命周期 1.1 生命周期介绍 maven是一个项目构建(bui…
Java自带项目管理命令
本文概览:不使用maven情况下,使用原始Java命令进行编译打包。 1 编译 通过javac命令执行编译操作…
JDK关闭钩子与Tomcat关闭钩子
1 JDK关闭钩子 在很多应用场景下,程序退出后,需要做一些善后处理,JDK提供了 关闭钩子 。除了kill …
Mysql/Jdbc事务和Spring事务
本文概览:事务分为扁平事务、保存点扁平事务、事务的嵌套。事务隔离中脏读、不可重复读、幻读三个读数据问题 定义及…
mysql的innodb锁
本文概览:1、介绍了三种锁类型,以及RecordLock、GapLock等具体锁。2、以及每一sql执行时如何…
mysql 死锁
本文概览:在分析死锁时需要从以下三个方面考虑: 1、那些锁引起的死锁 死锁就是由不同事务的 Recored L…
Tomcat源码运行和Build
本文概览:包括两个部分:(1)通过IDEA导入tomcat源码,并执行tomcat;(2)对tomcat源码进…
Git之master主干代码回滚
本节概览:通过git revert来实现线主干代码的回滚。如下命令 对于 merge类型的commit对象,还…
Nginx介绍和部署
本文概览:主要包括nginx介绍、安装和配置三个部分。 1 nginx介绍 1.1 引入 apache不具备高…
悲观锁
本文概览:介绍通过”select …for update”实现悲观锁。 1…
通过jstack分析log4j的hang住问题
本文概览:在程序hang住时,可以通过jstack获取线程堆栈信息,分析是否是死锁或者死循环导致程序hang住…