随笔分类 -  工作总结

摘要:前言 网上冲浪时刷到线程池的文章,想想看自己好像还没在实际场景中设置过线程名称,小小研究一下。 研究过程 默认命名 创建的线程都会有自己的名字,如果不设置,程序会给线程默认的名字,如Thread-0 Thread t = new Thread(() -> { System.out.println(T 阅读全文
posted @ 2024-12-14 23:43 帅气的涛啊 阅读(205) 评论(3) 推荐(0) 编辑
摘要:背景 在开发过程中,很容易将用户敏感信息,例如手机号码、身份证等,打印在日志平台。为了保护用户数据,又不影响日志的打印,需要将日志中的敏感信息进行脱敏。 效果 强烈建议 pull项目,执行一下项目中SensitiveUtils#main方法。 特性 支持多层级【Json】/【对象】字段脱敏 支持一次 阅读全文
posted @ 2024-11-30 21:31 帅气的涛啊 阅读(433) 评论(0) 推荐(1) 编辑
摘要:使用线程池的问题 程序关闭时(eg. 上线),线程池中的任务会丢失(内存中)。 线程池优雅关闭 利用Spring中ContextClosedEvent:关闭程序触发的事件,在使用线程池的地方,可以将线程池注册到ThreadPoolShutdownListener中,然后在程序关闭时,ThreadPo 阅读全文
posted @ 2024-05-21 23:25 帅气的涛啊 阅读(115) 评论(0) 推荐(0) 编辑
摘要:背景 随着公司代码的迭代,有一些垃圾代码逻辑冗余在项目中,导致消耗了资源又不好维护。为了保险,需要在线上统计代码使用的频率,剔除无用代码。 描述 方法便可分为如下几种: 对于确定没用的代码,可以先注释掉,并替换为error日志,保证遇到问题及时发现。 对疑似无用代码,可以使用统计方法调用次数,运行一 阅读全文
posted @ 2024-02-27 23:51 帅气的涛啊 阅读(13) 评论(0) 推荐(0) 编辑
摘要:背景 在项目的开发过程中,可能会遇到对数据表多个字段进行排序的需求(第一句话就这么难懂😢,不要害怕,万事开头难,结尾更难,开玩笑哒),结合需求轻松易懂。 需求 现在有一张User表 男同学先按 age 字段降序排序,后按 height 字段降序排序,最后按 id 升序排序 女同学先按 age 升序 阅读全文
posted @ 2023-09-20 14:46 帅气的涛啊 阅读(1704) 评论(0) 推荐(0) 编辑
摘要:## 原慢接口 ```java List keys = new ArrayList(Arrays.asList("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11")); List res = new ArrayList(); for (St 阅读全文
posted @ 2023-07-26 00:02 帅气的涛啊 阅读(81) 评论(0) 推荐(0) 编辑
摘要:### 1. IDEA debug 出现 no such instance method: ‘XXX‘ **我的情况**:明明对应类下面有方法,但是提示`no such instance method: 'XXX'`+ 运行的时候报错 `java.lang.NoSuchMethodError` ** 阅读全文
posted @ 2023-07-18 19:24 帅气的涛啊 阅读(170) 评论(0) 推荐(0) 编辑
摘要:## 需求 A,B,C可并发运行,全部成功才算成功,一个失败全员回滚。 ## 思考 使用CountDownLatch,可以保证三个线程结束后,才进行提交成功状态。但是怎么才能判断某个任务失败了呢? 1. 捕获子线程异常? 2. await(long timeout, TimeUnit unit)? 阅读全文
posted @ 2023-06-09 03:11 帅气的涛啊 阅读(7) 评论(0) 推荐(0) 编辑
摘要:## 限流 限流是什么?韩国首尔梨泰院踩踏事件,一时刻大量人聚集在一个狭窄路口,最后导致事故的发生。假如果,进去的时候限流,出去的时候限流,严格管理,那么悲剧发生的概率是不是会小一点。 **先问俩件事:** 你的接口能支持多少qps? 假如100000个请求同时打在你的接口上,你的服务会发生什么事? 阅读全文
posted @ 2023-04-02 22:13 帅气的涛啊 阅读(84) 评论(0) 推荐(0) 编辑
摘要:## 目前分支管理 ![image](https://img2023.cnblogs.com/blog/1704037/202303/1704037-20230313133627583-1781482156.png) AngularJS在github上的提交记录被业内大多数开发人员认可,逐渐被广泛引 阅读全文
posted @ 2023-03-13 13:37 帅气的涛啊 阅读(32) 评论(0) 推荐(0) 编辑
摘要:介绍(What?Why?How?) What? MapStruct is a code generator that greatly simplifies the implementation of mappings between Java bean types based on a conven 阅读全文
posted @ 2023-03-08 15:27 帅气的涛啊 阅读(69) 评论(0) 推荐(0) 编辑
摘要:背景 简化需求图: 场景举例: 比如下订单后,迟迟不付款,是不是应该取消订单?(购物软件都有的) 我的需求:比如我发消息至消息队列后(消息队列为了异步、解耦),改变了服务状态(服务启动中),然后我等待别的服务返回服务启动结果,更新服务状态(启动成功/启动失败)。 假设传输过程中,消息在网络传输中消失 阅读全文
posted @ 2023-03-02 17:56 帅气的涛啊 阅读(78) 评论(0) 推荐(0) 编辑
摘要:## 背景 业务需要将多数据源数据导入如下图: ![](https://img2023.cnblogs.com/blog/1704037/202306/1704037-20230608152030828-940003304.png) 解释一下,比如Mysql表中有` name `、` age `字段 阅读全文
posted @ 2023-01-18 02:16 帅气的涛啊 阅读(132) 评论(0) 推荐(0) 编辑
摘要:拦截器 将用户的某个请求前中后进行插入相应操作。 preHandle 调用时间:Controller方法处理之前 执行顺序:链式Intercepter情况下,Intercepter按照声明的顺序一个接一个执行 若返回false,则中断执行,注意:不会进入afterCompletion postHan 阅读全文
posted @ 2023-01-03 14:52 帅气的涛啊 阅读(77) 评论(0) 推荐(0) 编辑
摘要:> 此篇博客记录自己在设计模糊查询接口时候犯的错误,以及个人的一些浅略的思考。说明:此并非最优设计 ## 前言 此模糊查询是项目的一个小接口,大致功能如下图所示。 ![](https://img2022.cnblogs.com/blog/1704037/202211/1704037-20221125 阅读全文
posted @ 2022-11-25 22:42 帅气的涛啊 阅读(294) 评论(0) 推荐(0) 编辑
摘要:为什么进行全局异常处理? 【重要】日常开发中,为了不抛出异常堆栈信息给前端页面,每次编写的controller都要尽可能catch住所有service的异常,代码耦合性高,不利于维护。 所以利用RestControllerAdvice+ExceptionHandler进行全局异常处理,一旦项目中发生 阅读全文
posted @ 2022-07-14 17:40 帅气的涛啊 阅读(195) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示