影落离风
码龄5年
  • 181,677
    被访问
  • 66
    原创
  • 227,341
    排名
  • 37
    粉丝
  • 0
    铁粉
关注
提问 私信
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2017-11-27
博客简介:

影落离风

博客描述:
学习笔记
查看详细资料
  • 3
    领奖
    总分 286 当月 3
个人成就
  • 获得84次点赞
  • 内容获得100次评论
  • 获得211次收藏
创作历程
  • 14篇
    2021年
  • 16篇
    2020年
  • 18篇
    2019年
  • 20篇
    2018年
  • 8篇
    2017年
成就勋章
TA的专栏
  • 设计模式
    3篇
  • 并发
    1篇
  • 问题
    1篇
  • 精选文章
    1篇
  • Java项目
    37篇
  • 工具
    31篇
  • 脚本
    4篇
  • MySql
    4篇
  • 好玩
    5篇
  • linux
    6篇
兴趣领域 设置
  • 大数据
    mysqlredis
  • 后端
    spring架构
  • 服务器
    linux
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

业务重构时用事件驱动模式

前言需求:当新用户注册时,需要给用户发放各种礼品、积分、短信、邀请人奖励等。常见写法直接将上述后续操作堆到注册方法里,搞的注册方法又臭又长;当有其他注册如app注册、小程序注册、第三方注册时,然后将同样的发放逻辑复制的到处都是,可读性、维护性极差优化:可以将发放逻辑抽成一个方法,然后供调用,这个应该是最常用的;但随着业务的扩张,可能不止普通用户、还有承包商、供应商等。可能都已经是不同的表了,他们也有不同的发放逻辑。然后发放逻辑建好几个方法,将之前的逻辑复制过去改一改;最后这个发放逻辑就会
原创
发布博客 2021.11.06 ·
35 阅读 ·
0 点赞 ·
0 评论

匿名类简化多业务场景下处理相同逻辑的封装

前言在平时开发中,经常会遇到很多业务都有相同的处理逻辑;但是具体的处理规则又各不相同。那我们就可以把相同的方法提取出来,规则可由调用者自己编写。其实说到这里,用Thread跑过线程的同学就知道了;run方法里编写自己要用的业务,最后调用start方法最简单的线程使用示例 new Thread(new Runnable() { @Override public void run() { // 编写自己的业务
原创
发布博客 2021.10.22 ·
42 阅读 ·
0 点赞 ·
0 评论

mysql修改注释时出现Comment for field ‘xx‘ is too long(max=1024)

踩坑日记​ 在修改MySQL字段注释时,出现Comment for field ‘xx’ is too long(max=1024)这异常,其实就是字段注释超过1024,要注意精简哦。报错信息如下:然后我查了下,关于其他的长度限制,可以了解一下对于tables:“表的注释,最多 2048 个字符长。”对于columns:“可以使用 COMMENT 选项指定列的注释,最多 1024 个字符长。”对于INDEX:“在 MySQL 5.6 中,索引定义可以包含最多 1024 个字符的可选注释。”
原创
发布博客 2021.09.29 ·
290 阅读 ·
0 点赞 ·
0 评论

代码说孙兴高明远王政在扫黑风暴中的职责

前言看过扫黑风暴,我们都知道孙兴是一家ktv的boss,高明远是绿藤的boss,王政是整个省的boss。因为他们的职责不同,所以解决的问题也不同。他们之间也存在一种链接关系,就是孙兴解决不了的问题会交给高明远,高明远解决不了就找王政。孙兴只需要记住高明远可以解决他解决不了的问题,至于高明远后续会把问题抛给谁,他是不用管的。所以要实现这样的机制,我们就要用到责任链模式步骤首先建一个抽象的角色,定义这个角色工作的流程:问题符合自己的等级,自己去处理,处理不了保护伞有保护伞,交给保护伞(保护伞也是
原创
发布博客 2021.08.29 ·
304 阅读 ·
0 点赞 ·
0 评论

命令模式完成李云龙对意大利炮的指挥

前言命令(Command)模式的定义如下:将一个请求封装为一个对象,使发出请求的责任和执行请求的责任分割开。这样两者之间通过命令对象进行沟通,这样方便将命令对象进行储存、传递、调用、增加与管理。命令模式的主要优点如下。通过引入中间件(抽象接口)降低系统的耦合度。扩展性良好,增加或删除命令非常方便。采用命令模式增加与删除命令不会影响其他类,且满足“开闭原则”。其缺点是:可能产生大量具体的命令类。因为每一个具体操作都需要设计一个具体命令类,这会增加系统的复杂性。...
原创
发布博客 2021.08.24 ·
43 阅读 ·
0 点赞 ·
0 评论

伴随我经历过三家公司优化过各种线程执行效率代码示例

前言之前呆过一家公司做的生鲜配送,有个业务要针对每个用户的购买信息给他打上标签便于更好的营销有一堆用户集合,然后去查询每个用户的最近购买、购买频次、下单金额等,再去计算他的标签这是一个复杂的业务,只能对用户一个一个的去生成我们当然能想到开定时任务去处理,每天或周一凌晨去执行但是在海量用户下,每次生成一个用户标签肯定是很慢的由此我们可以想到开多个线程,每次处理多条数据比如每次开10个线程,每个同时处理10条数据,这样的话一次就能处理100条数据,大大提高生产力思路对要处理的数据集合进行分页
原创
发布博客 2021.08.14 ·
26 阅读 ·
0 点赞 ·
0 评论

利用反射将bean对象格式化为特定字符串

前言在常见业务开发中,我们经常会遇到客户需要这样的需求:将几个属性拼接起来显示在页面上。比如一些显示通知类的内容代码中的对象属性如下: Student student = new Student(); student.setName("张三"); student.setIdentity("匪徒"); student.setDate(new Date()); Schoolbag bag
原创
发布博客 2021.07.18 ·
53 阅读 ·
0 点赞 ·
0 评论

巧用模板模式和工厂模式简化开发工作

前言在业务中经常会遇到根据switch或if判断来走不同的流程。如果这些流程中有相似性,我们可以将它封装为接口,然后构建不同的类去调用。过程举个例子:比如我们大家可能都是人,在这个喧嚣而又复杂的社会中扮演着不同的角色。有的人是老板、有的是公务员,但大多数都是普通人。管你是什么人,你都要吃饭和玩,这是所有生物的本能呢。所以就有了一个动物本能的接口,所有动物都具有该功能/** * 动物本能 * * @author MinWeikai * @date 2021/6/5 11:29 */pu
原创
发布博客 2021.06.05 ·
58 阅读 ·
0 点赞 ·
0 评论

在word中生成批量二维码标签解决方案

前言有遇到此需求的同学可以参考替代原草料二维码导出标签模板示图方案实现示图实现步骤我使用的wps制作word模板,我的模板路径在word中输入${qrcodepics};通过控制页面布局-分栏调整位置、间距、和大小通过段落布局可以控制图片的间距,保存即可上代码用到的包<dependency> <groupId>com.google.zxing</groupId> <
原创
发布博客 2021.05.23 ·
718 阅读 ·
0 点赞 ·
0 评论

利用反射对层级对象取其某层对象的某个值,可忽略层对象不存在

前言业务中取对象某个值时,经常会遇到对象不存在。当然只有一层对象嵌套的时候,使用Optional.ofNullable是最简单的。那要是我的对象嵌套了5层、10层,别惊讶,千奇百怪的业务总有会遇到的。要取最底层的某个值,那Optional就要写老长一串了,这就比较头疼了。想法还是利用反射,一层一层剥开你对象的心,看Ta是不是真心。如要拿到a对象中有个b属性对象中有个c属性的值,可以传字符串“b.c”构造get方法利用反射获取对现象值为什么说还是“还是利用反射”呢??看过我博客的人都知道,我的很多轮
原创
发布博客 2021.04.03 ·
82 阅读 ·
0 点赞 ·
0 评论

对视图模型构造相关参数的轮子

前言清明放假没事在家写一些常用的轮子,以便减少一些重复繁琐的编码工作。话不多说,继续往下看有时我们的接口数据返回给前端或者导出为excel时,需要给相关值带单位(kg/立方米/%等)、或保留小数位等。尤其是一些统计类的报表,值特别多、单位也就贼多了。做法查询时在sql中拼接。给sql添加了好多无聊的字符,看起来都不好看,维护性不好,看起来都头疼业务代码中循环拼接。这也很麻烦交给前端回显时去拼接。前端有可能要骂娘想法既然是面向对象编程,那最好就是有维护一个视图对象,供我们返回到前端一
原创
发布博客 2021.04.03 ·
29 阅读 ·
0 点赞 ·
0 评论

如何对集合对象求合计,然后追加在该集合对象中

前言在日常工作中,我们经常会遇到对一个列表的每一项求合计,然后追加到列表的最后一行。如方案修改该统计查询的sql,在里面追加一行合计计算。不太好的地方就是在sql有好多的函数计算,而且还要修改这个统计的sql,本来sql已经很复杂,然后再加就搞得又臭又长。在代码中计算,这个也是比较麻烦。所以拿出来我这个方法了之前我是这样写的,遍历集合中的每个对象,求和,将和放到新对象然后追加到集合中private void sumDataScreening(List<IpepShipWasteDa
原创
发布博客 2021.03.13 ·
219 阅读 ·
0 点赞 ·
0 评论

大量图片数据导出为excel导致内存溢出解决方案落地

前言目前我们公司项目使用该方案已实现:导出含有上G图片数据的excel,内存占用在60~70mb。这也是这个博客实现的目标。如果你现在遇到导出excel含图片有多大磁盘占用,就会有多大的内存占用问题,那你就来对地方了!继续接着前面的问题研究 大数据量excel含图片导出解决方案前面说使用分页导出解决,但是对于客户使用体验来说,也是很麻烦。查一条记录可能还得打开多个excel,所以能放在一个excel里对客户来说还是很舒服的。那就还是之前的问题,使用SXSSFWorkbook窗口操作图片没
原创
发布博客 2021.01.30 ·
588 阅读 ·
1 点赞 ·
0 评论

大数据量excel含图片导出解决方案

前言公司存在很多excel含图片导出,因为提供给客户的excel可能还会打印出来,所以图片不能存链接。真坑!!!一步步解决原理使用这个SXSSFWorkbook进行excel导出,不了解的可以看我的这个博客你一定没用过最简单的使用SXSSFWorkbook快速导出百万条数据异步导出使用异步导出方式,用户点击导出后后台自动运行导出,无需用户等待,然后有个任务列表,导出完成后用户可以回来点开下载压缩导出建议压缩图片导出:因为压缩图片后导出可以支撑更多的数据量,但还是因服务器内存而定。
原创
发布博客 2021.01.09 ·
282 阅读 ·
1 点赞 ·
1 评论

生成9mb、10mb、20mb、30mb的星云图片,常用于图片测试

前言在开发中经常会遇到图片上传问题 测试5mb、10mb、20mb等的图片上传时间 测试对10mb以上的图片限制上传 但是这么大的图片也不好找或者是我们想要一个50mb左右的图片,怎么可以快速简单的做出来??那你就来对地方了!!图片资源该图片资源托管于七牛oss 9mb图片链接:http://qn.minwk.top/img/xingyun0001-9mb.jpg 16mb图片链接:http://qn.minwk.top/img/xingyun0001-1
原创
发布博客 2020.12.24 ·
2132 阅读 ·
2 点赞 ·
0 评论

idea最新版2020.3不兼容exec-maven-plugin:1.2

问题安装最新版idea-2020.3出现问题Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2:exec (default-cli) on project ***: Command execution failed.解决我又装回了idea-2019.1才好,特地记录下,如果有遇到此问题的同学可以参考!本文由博客群发一文多发等运营工具平台 OpenWrite 发布...
原创
发布博客 2020.12.18 ·
1029 阅读 ·
1 点赞 ·
2 评论

application.yml变成红色图标如何解决

前言记录一下我遇到的application.yml变成红色图标解决方法,我使用的是idea的解决方法,希望可以帮到其它遇到这个问题的人现状正常解决选中图标变成红色的项目在idea中快捷键 ctrl+shift+alt+s 打开Project Structure如上图可以发现正常服务有个绿色spring。如果你的红色图标项目是少这个绿色spring的话就可以用这里的方法解决如下操作add 绿色spring看到这些最后apply就好了,变绿了如此就大功告成...
原创
发布博客 2020.09.04 ·
10429 阅读 ·
7 点赞 ·
4 评论

最简单的接口重复请求处理方法

前言常见的业务处理中,我们会遇到用户提交数据时出现重复的数据,可能出现:用户重复点击提交按钮接口被别有用心之人恶意请求其它可能出现的问题网络或程序崩溃解决接口一定要保持对调用方的不信任在重复请求处理中,我们的想法用户在较短时间内,可能几秒内重复提交,可以给用户提示“重复请求”某些接口需要处理在执行业务方法前就知道是否是重复请求,减缓服务器压力知道当前用户和用户请求的接口,这样才能针对用户做重复判断结合以上想法,我们应该能想到spring aop什么是aop面向切面编程,
原创
发布博客 2020.08.31 ·
2947 阅读 ·
0 点赞 ·
1 评论

你还不知道吗?这里有最简单的使用Java进行文件加密

前言 字节流运算实现文件的加密解密1.0 字节流运算实现文件的加密解密2.0 如果没看的话,可以去飞速的浏览一下,方便这篇博客的理解(我不会告诉你,我是让你帮我的博客增加点击量的)好,相信你已经过去看了一下。我是相信你的哦!那么好,通过对前两篇博客的理解,我便可以开发出一个工具可实现对文件的深加密这就是这篇博客你还不知道吗?这里有最简单的使用Java进行文件加密要说的可制作jar工具包用来对文件或文件夹进行加密解密,此处点题。好处 可对文件进行深加密
原创
发布博客 2020.07.17 ·
215 阅读 ·
0 点赞 ·
0 评论

字节流运算实现文件的加密解密2.0

前言 在前一篇博客《字节流运算实现文件的加密解密1.0》里介绍了实现文件的加密解密的原理。因为读取文件方法使用的是FileInputStream对文件加密时效率较低,优化为使用BufferedOutputStream提升效率。 遗留的思考:字节运算超出范围,但还是可以正常加密解密。 简述使用BufferedInputStream提升读取效率/** * 获取文件的byte数组 * 在{@link FileEncryptAndDecryptSalt_1#read
原创
发布博客 2020.07.04 ·
533 阅读 ·
2 点赞 ·
0 评论
加载更多