以前接触到的数据库死锁,都是批量更新时加锁顺序不一致而导致的死锁,但是上周却遇到了一个很难理解的死锁。借着这个机会又重新学习了一下mysql的死锁知识以及常见的死锁场景。在多方调研以及和同事们的讨论下终于发现了这个死锁问题的成因,收获颇多。虽然是后端程序员,我们不需要像DBA一样深入地去分析与锁相关的源码,但是如果我们能够掌握基本的死锁排查方法,对我们的日常开发还是大有裨益的。
分类:
数据库 时间:
2019-05-07 22:51:25
阅读次数:
163
You are given a 3D grid, which has dimensions X, Y and Z. Each of the X x Y x Z cells contains a light. Initially all lights are off. You will have K ...
分类:
其他好文 时间:
2019-05-07 22:51:07
阅读次数:
148
参与微信小程序开发有一段时间了,先后完成信息查询类和交易类的两个不同性质的小程序产品的开发;期间遇到各种各样的小程序开发的坑,有的是小程序基础功能不断改进完善而需要业务持续的适配,有的是小程序使用上的一些坑;下面针对小程序开发过程中遇到的一些坑跟大家分享,有些没有深究具体原因; 1、原生组件遮盖的问 ...
分类:
微信 时间:
2019-05-07 22:50:17
阅读次数:
190
#include<stdio.h>int main(){ int A[200][200],B[200][200],sum[200][200]; int m,n,i,j,a,b; printf("请输入行数和列数:\n"); scanf("%d,%d",&m,&n); for(i=0;i<m;i++) ...
分类:
编程语言 时间:
2019-05-07 22:49:11
阅读次数:
140
计算属性:是一个属性的值发生改变时根据已有的属性计算出来的结果 侦听属性:根据属性值或计算属性发生改变后在侦听函数中写相应的逻辑代码 new Vue({ el:"#root", data:{ firstName:'', lastName:'', count:0 }, computed:{//当属性值 ...
分类:
其他好文 时间:
2019-05-07 22:48:07
阅读次数:
140
1、Kubernetes设计架构 Kubernetes集群包含有节点代理kubelet和Master组件(APIs, scheduler, etc),一切都基于分布式的存储系统。下面这张图是Kubernetes的架构图。 2、Kubernetes节点 2.1 介绍 ① 在这张系统架构图中,我们把服务 ...
分类:
Web程序 时间:
2019-05-07 21:40:22
阅读次数:
310
建个项目或者模块,目录结构如下 在pom.xml中加入shiro依赖,其他依赖自行添加(lombok,jpa,mybatis,web,thymeleaf等) application.properties中的配置 实体类SysMenu.java中的代码 实体类SysRole.java中的代码 实体类S ...
分类:
编程语言 时间:
2019-05-07 21:40:05
阅读次数:
144
2个视图基类 APIView与View的不同之处在于: 传入到视图方法中的是REST framework的Request对象,而不是Django的HttpRequeset对象; 视图方法可以返回REST framework的Response对象,视图会为响应数据设置(render)符合前端要求的格式 ...
分类:
其他好文 时间:
2019-05-07 21:39:50
阅读次数:
147
需求:创建一个文本文件,以UTF-8高效写入,并高效读取。 ...
分类:
其他好文 时间:
2019-05-07 21:39:36
阅读次数:
139
js 实现复制粘贴 ...
分类:
Web程序 时间:
2019-05-07 21:39:24
阅读次数:
237
1.页面基础元素:<html><html>是页面的基础元素,主要用来定义页面的开始和结束部分。元素语法结构如下<html>....</html>(开头标记为<>,结束标记为</html>)先介绍一下完整的HTML文件的基本结构 <html> 文件开始标记 <head> 文件头开始标记 ....... ...
分类:
Web程序 时间:
2019-05-07 21:39:10
阅读次数:
186
Mozilla证书过期导致无法使用扩展 ...
分类:
其他好文 时间:
2019-05-07 21:38:41
阅读次数:
150
1变量的使用以及原理 先定义一个变量 变量的类型 变量的命名 01变量的命名 变量名 = 值 左边是变量名 右边是值 又叫做赋值 上面是ipython的交互模式的 那我们看看在pycharm里面如何输出 02 超市买苹果 定义苹果单价 price = 805 苹果数量 weight = 7.5 钱 ...
分类:
编程语言 时间:
2019-05-07 21:38:23
阅读次数:
206
用法二:switch语句,可以一次进行多次值的判断,但是无法判断swaitch和case值之间的不相等性
用法二:switch语句,可以一次进行多次值的判断,但是无法判断swaitch和case值之间的不相等性
用法二:switch语句,可以一次进行多次值的判断,但是无法判断swaitch和case值之间的不相等性
用法二:switch语句,可以一次进行多次值的判断,但是无法判断swaitch和case值之间的不相等性
分类:
编程语言 时间:
2019-05-07 21:38:07
阅读次数:
258
#include<stdio.h>#include<string.h>int main() { int x,y,t; char str1[100],str2[100]; printf("为str1赋值:"); scanf("%s",str1); printf("为str2赋值:"); gets(st ...
分类:
其他好文 时间:
2019-05-07 21:37:12
阅读次数:
144
什么是线程池 线程池是一种多线程处理的形式,通过把处理的任务添加到队列中,然后在创建线程后自动执行这些任务。线程池可以同时执行多个任务,如果任务队列已经满了,则新来的任务就会排队等待,线程池线程的数量永远不会大于既定最大值。 线程池的优点 线程池的重用使得我们不用为重复创建线程和销毁线程带来的性能开 ...
分类:
编程语言 时间:
2019-05-07 21:36:59
阅读次数:
227
第一种: 新建批处理文件 backup.dat,里面输入以下代码: 注意:批处理命令中路径里有空格的话,必须在路径上加上双引号!然后使用Windows的"计划任务"定时执行该批处理脚本即可。(例如:每天凌晨3点执行backup.bat)解释:备份和恢复的操作都比较简单,完整性比较高,控制备份周期比较 ...
分类:
数据库 时间:
2019-05-07 21:36:47
阅读次数:
166