- 博客(15)
- 收藏
- 关注
原创 oss上传文件一段时间后报临时目录不存在
问题原因临时目录失效Tomcat的临时上传目录(如/tmp/tomcat.*)可能被系统自动清理(如重启后)目录权限不足导致无法创建或写入Spring Boot默认行为上传文件时依赖spring.servlet.multipart.location配置,未显式配置时使用系统临时目录解决方案方案1:配置固定上传目录(推荐)1. 在application.properties中指定固定路径:propertiesCopy Code。
2025-03-18 20:32:43
357
原创 解决 @Synchronized 与 @Transactional 并发冲突的方案
锁包裹事务:将事务操作完全包含在同步代码块内部,确保事务提交在锁释放之前完成。例如,使用 TransactionTemplate 手动控制事务边界,避免因 AOP 代理导致锁与事务分离24。缩小事务范围:将 @Transactional 注解标注在同步代码块内部调用的独立方法上,确保事务提交发生在锁释放前。在 Controller 层加锁:在调用 Service 层事务方法前,通过 synchronized 控制并发入口。通过分离事务方法,避免锁释放早于事务提交25。
2025-03-13 14:24:50
200
原创 打包部署线上环境
1.package只是简单的打包命令,项目编译打包之后放在项目的target下面。2.install命令把项目先打包,然后放到maven仓库里面。1.背景 :微服务项目,修改了其中一个服务,需要打包部署。解决 : 需要先全量install一下到maven库。
2023-08-17 17:22:25
124
1
原创 jvm-核心点
一般后端开发都是从减少卡顿时间出发,那种纯计算的不需要响应的会从增大吞吐量出发 :什么意思,就是用户线程和垃圾回收线程同时执行的时候,必然吞吐量就下降了。减少卡顿就是减少fullGc,可以调整年轻代的内存大小,年轻代大对象的阈值,让垃圾对象尽可能的在年轻代被回收掉。
2023-07-30 15:52:28
87
1
原创 arthas
这里写自定义目录标题今天用了arthas太爽了,说先为什么用,你在开发环境大概率没有权限连生产的库,那要看bug怎么办通过观察日志就是今天说的arthas,arthas更强大2.1 watch org.etao.wms.api.service.impl.store.StockServiceImpl ‘{params,returnObj,throwExp}’ -n 5 -x 3看具体某个方法的入参出参和报错信息,-n表示可以查看的次数,-x便是看的参数是第几层的参数2
2023-07-20 11:46:14
65
原创 mysql优化
搞清了like左边百分号为什么还能走索引,其实压根就没走索引,只是查询的字段都在覆盖索引的那颗索引树上而已,还是会进行索引树的全部扫描。
2023-06-17 09:47:22
112
1
原创 mysql事务隔离级别
要看并发数,如果5000的并发读取的数据可能不在内存的同一块区域,内核操作磁盘会有一个带宽,用这个带宽除以每个线程请求的数据就是iops,所以如果iops小于5000,一样会慢,解决方式,做数据切片,切成几片每个磁盘请求的iops就会除以几。一个表的数据一定是在一颗索引树下面,默认会用主键id,其次唯一索引,非主键索引叶子节点拿到的只是主键的id值,主键索引下存的才是一整条数据。根据mvcc,select分为快照读和当前读,产生了当前读就会重新select,导致读到最新的数据。
2023-05-24 09:48:00
97
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人