摘要: 接口幂等 防重:防重设计主要为了避免产生重复数据 接口幂等性:除了防止产生重复数据,还要求执行多次与执行一次产生的影响是一样的 重复提交是造成的原因 幂等性是要保证的结果 针对操作 查询、删除具有幂等性 新增、修改不具有幂等性 update操作 1.如果只是单纯的更新数据,比如:update use 阅读全文
posted @ 2024-07-16 23:21 永无八哥 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 减少了jdbc驱动与数据库服务器之间的网络传输开销 使用batch前:执行一条sql就要进行一次网络IO开销,还要等待服务器响应结束后才能提交下一条sql。预编译n次,设置参数n次,执行n次 使用batch之后:客户端的多条sql是一起提交给服务器的,一次batch只涉及到一次网络传输开销。预编译一 阅读全文
posted @ 2024-05-12 19:06 永无八哥 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 三范式理解 第一范式:所有列原子不可分 第二范式:一行数据要有一个唯一标识该行的字段(比如主键) 第三范式:要求表中每列都和主键列直接相关 常用函数 IFNULL(exp1,exp2)、IF(exp1,exp2,exp3)、ISNULL(exp) SELECT employee_id, -- 1.判 阅读全文
posted @ 2024-02-22 22:35 永无八哥 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 找到提交到远程库的编号xx 在idea terminal中使用以下命令,退回到指定的版本号 git reset --soft 编号xxx 提示: --soft 会保留指定版本下的代码到暂存区 --hard 指定版本本地库下的代码会丢失 然后使用以下命令强制推送到远程库,注意强制推送会导致指定版本后的 阅读全文
posted @ 2023-10-19 23:26 永无八哥 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 并行一定比串行执行的速度快吗? 不一定 这是因为线程创建、销毁会消耗CPU,有可能创建销毁的时间超过了计算本身时间(虽然都在使用线程池) 同时也存在上下文切换的开销,需要保护现场与恢复现场,消耗CPU资源 线程本身也占用内存,一个线程占用1MB 一个系统内线程资源是有限的 为什么要需要多线程? 1. 阅读全文
posted @ 2023-10-16 22:31 永无八哥 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 将一次性查询改为通过分片、异步优化 in子查询 集合数据分片是将数据按指定大小进行分组,像java中使用guava或hutool工具的partition进行分组,然后分批处理或者获取数据,in子查询会通过创建临时表,不易将大量数据放入in子查询中 案例:分片+异步操作 @Test void test 阅读全文
posted @ 2023-09-02 12:11 永无八哥 阅读(34) 评论(0) 推荐(0) 编辑
摘要: ## 1.Spring事务与synchronized顺序问题 ## 结论: > 保证释放锁在事务提交之后 ``` 当一个方法加上事务后,在执行前要先开启事务,然后再执行目标方法,当目标方法执行完后提交事务。 自然获取锁是在开启事务后才执行的操作,一个线程获取到锁,到执行完业务再到释放锁后,此时事务还 阅读全文
posted @ 2023-08-17 13:09 永无八哥 阅读(584) 评论(0) 推荐(0) 编辑
摘要: ## 结论 ```markdown 动态修改一个类的方法或属性或执行方法都要受安全体系的检查,而安全体系处理是非常消耗资源的。 因此运行期间想要动态修改类信息时提供了一个Accessible方法,其作用是是否逃避java安全体系的 检查,进行快速访问。相比不进行设置setAccessible=tru 阅读全文
posted @ 2023-08-07 11:47 永无八哥 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 目的: ``` 提高用户体验,避免导出超大数据时用户一直等待 ``` 实现思路: ```markdown 1. 主线程:处理请求响应,同时开启子线程,让子线程处理导出任务 2. 子线程:将导出的文件写入到磁盘临时文件,临时文件上传到**oss**中获取上传文件的url路径,记录url路径到数据库中, 阅读全文
posted @ 2023-07-27 10:03 永无八哥 阅读(2541) 评论(0) 推荐(0) 编辑
摘要: /** * for循环 失败处理后,延迟重试 * * @throws InterruptedException */ @Test void test28() throws InterruptedException { ExecutorService executorService = Executo 阅读全文
posted @ 2023-07-21 15:10 永无八哥 阅读(34) 评论(0) 推荐(0) 编辑