会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
长江同学
每一次思考都值得被铭记
博客园
首页
新随笔
管理
上一页
1
2
3
4
5
6
7
8
9
···
15
下一页
2021年12月3日
Redis的5种基本数据结构以及基本操作命令
摘要: 来源于《Redis深度历险:核心原理与应用实践》的阅读笔记。Redis的常见用途: 记录帖子的点赞数,评论数和点击数(hash); 记录用户的帖子ID列表(便于快速显示用户帖子列表)(zset); 记录帖子的标题、摘要、作者和封面信息,用于列表展示(hash); 记录帖子的点赞用户ID列表,评论ID
阅读全文
posted @ 2021-12-03 22:40 长江同学
阅读(217)
评论(0)
推荐(0)
编辑
2021年11月15日
业务系统数据库设计经验总结(十一)-使用当前列值更新其它列值
摘要: 在处理业务进行SQL学习UPDATE时,我们从示例中看到的基本都是以下形式 UPDATE table_name SET column_name='固定值' condition 或者 UPDATE table_name SET column_name=(子语句衍变的固定值) condition 前两天
阅读全文
posted @ 2021-11-15 17:52 长江同学
阅读(42)
评论(0)
推荐(0)
编辑
2021年11月12日
Jenkins历史构建作业jobs的删除与管理
摘要: 对于定时执行的job,如果特别频繁,比如几分钟一次,时间一长,历史执行的作业就会占用大量磁盘,影响后续使用。我们可以用以下两种方法进行处理: 1.执行脚本,删除指定作业的历史作业信息: def jobName = "test_uploadFileForShell" def maxNumber = 1
阅读全文
posted @ 2021-11-12 16:15 长江同学
阅读(1221)
评论(0)
推荐(0)
编辑
2021年10月19日
业务系统数据库设计经验总结(十)-实时记录与历史记录
摘要: 考虑如下表结构:table: devicecolumns: id, create_time, user_id这是一张设备表,设备是每一行的id都唯一对应一个用户user_id,而这个user_id是会随着系统的变化而变化的。 这种场景在我们设计系统时是很常见的,一般有可能如上所示,是一个固定内容的字
阅读全文
posted @ 2021-10-19 09:51 长江同学
阅读(565)
评论(0)
推荐(0)
编辑
2021年10月8日
业务系统数据库设计经验总结(九)-关于大文件的下载
摘要: 突然接到通知,线上环境出现了系统故障,用户无法扫码进行下单了。查看了下服务器的内存,发现某个java进程的CPU占用到了100%左右,维持了十几秒,随后恢复正常,随后发现这期间有客户在进行大文件的下载。... 对于文件下载的处理,如果说能够在业务层面限制下载的规模,那是最好的,对于IO、网络、数据库
阅读全文
posted @ 2021-10-08 21:28 长江同学
阅读(121)
评论(0)
推荐(0)
编辑
二分查找插入排序以及一些思考
摘要: 二分查找的插入排序是在处理待处理插入元素时,在已排好序的集合中采用二分法查找到插入的位置,而后进行整体后移,腾出这个插入的位置后,将该元素插入。 思路并不难理解,但是当我面对这个二分法实现的时候,还是觉得有很多细节不好处理,于是有了以下思路的记录: 定义i为当前轮到的比较元素,如果i<2,那么不需要
阅读全文
posted @ 2021-10-08 20:51 长江同学
阅读(269)
评论(0)
推荐(0)
编辑
2021年9月30日
Jenkins的邮件配置
摘要: 虽然两三年前配过一次,细节已经没啥印象了,今天又重新配置了一次,只感觉这个配置好多坑。也是因为自己对这一套的原理理解不到位吧,但是不得不说,还是坑,设计和提示地不人性化。 1.细节很多,但是具体的说明不显眼; 2.执行job,你以为成功了,但是收件箱就是没有收到,此时job的console outp
阅读全文
posted @ 2021-09-30 23:25 长江同学
阅读(668)
评论(0)
推荐(0)
编辑
Linux cron crontab jenkins java 定时作业
摘要: 今天配置了一下Jenkins作为简单的定时作业配置,辅助线上的一些手动处理作业。配置到Build Perodemically的时候,觉得这种cron配置好像很多地方都见过。所以这里总结一下,方便系统地认识理解和使用这个工具与规则。 【cron与crontab】 在Unix与类Unix系统(Linux
阅读全文
posted @ 2021-09-30 20:47 长江同学
阅读(256)
评论(0)
推荐(0)
编辑
业务系统数据库设计经验总结(八)-关于startTime和endTime
摘要: 之前在设计一些查询语句的时候,总是会纠结,到底开始时间是设置成00:00:00还是00:00:01,不确定前者是否是合法的时间设置。于是: public static void main(String[] args) throws ParseException { SimpleDateFormat
阅读全文
posted @ 2021-09-30 13:33 长江同学
阅读(487)
评论(0)
推荐(0)
编辑
2021年9月24日
CSV格式转Excel数字自动转为科学计数表示的解决
摘要: 在之前的博客中,提到了一种CSV文本生成下载方法(链接)。但在实际使用过程中,发现了一个问题,无论后台生成的变量是字符串还是数值类型,只要是超过了一定的范围,下载的CSV文件内容用Excel打开时就会转用科学计数法;另外,日期的表示也是很奇怪: 但实际上,用户希望打开就直接是文本内容: 【解决】 E
阅读全文
posted @ 2021-09-24 22:36 长江同学
阅读(1103)
评论(0)
推荐(0)
编辑
2021年9月22日
插入排序的基本实现
摘要: 插入排序是非常好理解的。看图: 注意,这里比较是从最后一个元素往前比较,如果当前的元素比上一个大,那么比较和交换的工作就此停止。如果是每次都从第一位开始比较的话,那么无论是否已经排好顺序,总是会比较n-1个元素,次数上是会比这种方法多的。 代码如下: public class InsertionSo
阅读全文
posted @ 2021-09-22 22:02 长江同学
阅读(79)
评论(0)
推荐(0)
编辑
2021年9月19日
双轴快排的基本实现
摘要: 在之前的博客里说了快排的基本原理,并配图和代码说明了执行流程(https://www.cnblogs.com/bruceChan0018/p/15209130.html)。在快排的优化手段里,也提到了JDK1.8中的Arrays.sort用到了双轴快排。这里就主要说明双轴快排的流程,原理和代码实现。
阅读全文
posted @ 2021-09-19 23:33 长江同学
阅读(227)
评论(0)
推荐(0)
编辑
2021年9月18日
快速排序的优化
摘要: 基本的快速排序流程和代码在之前的博客中已经展示。这里主要说明一些快排的问题以及优化手段。 1.快排是递归处理,所以当集合的数字很多时,我们要注意调用栈的深度。如果调用栈超过了限制,就会造成堆栈的溢出。这个时候我们需要对栈最大深度进行设置,一旦达到了这个深度,不能继续递归,而改为其它的排序方法。 2.
阅读全文
posted @ 2021-09-18 23:28 长江同学
阅读(598)
评论(0)
推荐(0)
编辑
2021年9月17日
冒泡排序的优化
摘要: 冒泡排序的优化主要是三个点:1.使用异或运算,使元素交换时不用临时变量: array[j] ^= array[j + 1]; array[j + 1] ^= array[j]; array[j] ^= array[j + 1]; 2.在外部循环时,设置一个标记,如果整轮比较之后,内部元素交换都没有交
阅读全文
posted @ 2021-09-17 21:46 长江同学
阅读(304)
评论(0)
推荐(0)
编辑
冒泡排序与快速排序的复杂度分析
摘要: 在之前的两篇blog中,已经简要的说明了冒泡排序和快排的原理、过程图示以及代码实现。这里主要讨论的是两种排序的复杂度以及一些常见的优化手段。 冒泡排序 【时间复杂度】 在整个序列完全是有序的状态下,只需要执行第一次的内层循环。只要做好标记,我们就不用再进行后续的内层循环。此时时间复杂度为O(n);
阅读全文
posted @ 2021-09-17 00:13 长江同学
阅读(1541)
评论(0)
推荐(0)
编辑
上一页
1
2
3
4
5
6
7
8
9
···
15
下一页