冒泡排序 冒泡排序是通过比较两个相邻元素的大小实现排序,如果前一个元素大于后一个元素,就交换这两个元素。这样就会让每一趟冒泡都能找到最大一个元素并放到最后。 以 [ 8, 1, 4, 6, 2, 3, 5, 7 ] 为例,对它进行冒泡排序: 代码实现: + (NSArray *)bubbleSort ...
分类:
移动开发 时间:
2020-10-30 11:58:36
阅读次数:
25
1.背景最近有一些活动,于是会对系统做一些平时量比较小的路径做一些打压,这不打压还好,这一打压就出现了奇怪的问题,居然有一段陈年老代码出现了死锁的问题,日志如下:看见了日志之后,就踏上了死锁的排查之路。当然如果你对锁不是很熟悉的话你可以先看我的这两篇文章看一下数据库锁的基础知识:为什么开发人员必须要了解数据库锁:和记一次神器的mysql死锁排查2.问题分析数据库代码如下:CREATETABLE`o
分类:
其他好文 时间:
2020-10-29 10:02:55
阅读次数:
34
快捷键:Ctrl+ d 删除光标所在行 ctrl + y ideal本身的删除 alt + shift + r 重命名 shift + F6 ideal重命名 ctrl + alt + L 格式化代码快捷键 alt + enter 万能提示快捷键 alt + ins/insert 后边用到gener ...
分类:
其他好文 时间:
2020-10-29 09:57:57
阅读次数:
22
列表的优点 列表是可变序列,可以储存不同的变量,可以使用下标来访问其中的值 列表的内建方法 len():求列表的长度 max():求最大值 min():求最小值 count():用于统计列表中某元素出现的次数 append():向列表的最后追加一个元素 extend():在列表的末尾一次性追加多个值 ...
分类:
其他好文 时间:
2020-10-29 09:33:14
阅读次数:
15
list=[‘A‘,‘B‘,‘1‘,‘2‘,‘A‘]append追加一个值list.append(‘a‘)#结果[‘A‘,‘B‘,‘1‘,‘2‘,‘A‘,‘a‘]注意:方法不返回值,比如print(list.append(‘a‘)),返回的是None,但动作执行了,即列表中增加了‘a‘,
分类:
编程语言 时间:
2020-10-27 11:19:09
阅读次数:
87
有时我们希望在更新数据的时候,自动完成某些字段的值的填充,如创建一个实体的时候,自动生成创建时间,更新的时候自动改变更新时间等。 在指定字段标注注解,生成器策略部分也可以配置。 // 创建时间 @TableField(fill = FieldFill.INSERT) private Date cre ...
分类:
其他好文 时间:
2020-10-27 11:02:00
阅读次数:
18
字符串函数 concat(s1,s2…sn):字符串s1,s2等多个字符串合并为一个字符串 insert(s1,x,len,s2):字符串s2替换s1的x位置开始长度为len的字符串 lower(s):将字符串s的所有字母变成小写字母 upper(s):将字符串转换 为大写 left(s,n):返回 ...
分类:
数据库 时间:
2020-10-24 10:22:17
阅读次数:
33
字符串函数 concat(s1, s2...sn) 字符串 s1, s2 等多个字符串合并为一个字符串 insert(s1, x, len, s2) 字符串 s2 替换 s1 的 x 位置开始长度为 len 的字符串 lower(s) 将字符串 s 的所有字母变成小写字母 upper(s) 将字符串 ...
分类:
数据库 时间:
2020-10-24 10:20:53
阅读次数:
34
1、为了方便管理app,我们添加专门的apps文件夹来存放所有的app。结构如下 1.1设置完apps文件夹以后我们需要对配置文件做相应的更改 1.1.1、在seetings.py里添加django文件的导包路径 #settings.py import sys sys.path.insert(0, ...
分类:
其他好文 时间:
2020-10-21 21:14:20
阅读次数:
18
#include <bits/stdc++.h> #include <bits/extc++.h> using namespace std; using namespace __gnu_pbds; typedef pair<int,int> pii; tree<pii,null_type,less< ...
分类:
其他好文 时间:
2020-10-21 20:30:50
阅读次数:
25