Java实际问题记录

问题1:springboot接收multipartfile文件时,使用子线程异步处理file文件出错

答:springboot中接收到multipartfile文件时,会存储到临时文件夹中,java -jar启动默认为/tmp/tomcat.xxx/;异步执行的时候,主线程结束,临时文件就会被清空了,所以会报错,解决办法为先把file文件转换成流或者base64字符串放入jvm内存中,进行后续操作在这里插入图片描述

问题2:Mysql数据库导致CPU飙升问题

答:其中之一可能是索引问题,问题查找过程:show processlist 查看数据库sql一直执行的sql,大概率此sql就是问题所在,解释该sql查看extra:
其中using filesort,using temporary,using index最为常见,
出现前两种表示是需要优化的地方,出现第三种表示索引效率不错

1. Using filesort(九死一生的提示,需要尽快优化)
说明mysql会对数据使用一个外部的索引排序,而不是按照表内的索引顺序进行读取。mysql中无法利用索引完成的排序操作称为“文件排序”。
2. Using temporary(十死无生的提示,极大影响mysql性能,需要尽快优化)
使用了临时表保存中间结果,mysql在对查询结果排序时使用临时表。常见于排序order by和分组查询group by
3. Using index
表示相应的select操作中使用了覆盖索引(covering index),避免访问了表的数据行,效率不错!
如果同时出现using where,表明索引被用来执行索引键值的查找;
如果没有同时出现using where,表明索引用来读取数据而非执行查找动作。
对两个字段建立索引将其中一个字段作为where条件就符合键值查找
4. Using where表明使用了where过滤

问题3:idea更新Git代码报错,显示无merge,但是又让处理merge

答:有其他人提交了.gitignore的文件例如.idea的文件等等,删除git远程仓库的对应文件即可

问题4:mybatisplus插入报错Field ‘id’ doesn’t have a default value

答:@TableId注解:IdType AUTO(主键自增),NONE(无),INPUT(自行输入),ASSIGN_ID(雪花算法),ASSIGN_UUID(去下划线UUID) 默认为NONE,可以在yml中查看全局配置,如果配置为AUTO,数据库又不是自增的,则会报上面的错

1.数据库改为自增主键
2.添加@TableId改为别的方式

问题5:mybatis查询返回实体内含有LIst<类名>、List时的使用

答:使用resultMap,即可将数据库查询的list转换为单个实体,自动聚合相应的字段到list中,collection标签中包含两个关于javaBean的Type属性分别是ofType和javaType。其中ofType指定的这个List所存放的javaBean的类型,而javaType指定的当前这个配置的标签所对应的属性

问题6:(避坑)移动服务器bug:现象:前台其他的接口在浏览器都是通的,只有登录、注册接口不通,使用postman登录、注册也是通的,本地也是通的

 移动服务器有安全机制:对于password、pass、pwd等关键词进行屏蔽,导致接口不通。
 可能别的服务器同样有更多的敏感词,只能使用代码规避了。

问题7:HashMap<String,Object> 类型存入一个实体,取出实体报错 类型转换异常

请添加图片描述

问题8: java加载动态库失败问题(报错error while loading shared libraries)

1.检查动态库路径是否错误
2.如果动态库不在/lib或者/usr/lib目录下,请使用ldconfig命令加载动态库 
	往/lib和/usr/lib里面加东西,是不用修改/etc/ld.so.conf的,但是完了之后要调一下ldconfig,不然这个library会找不到。
	想往上面两个目录以外加东西的时候,一定要修改/etc/ld.so.conf,然后再调用ldconfig,不然也会找不到。
PS:linux创建软连接命令: ln -s [dir1] [dir2]  ,dir1是真实的文件夹,dir2是dir1的软链接

问题9: List的坑

List<String> strs = Arrays.asList();
方法返回的ArrayList不可以增删,因为它是Arrays中的内部类,
如果想要增删请使用Guava包下的
List<String> list = Lists.newArrayList(arrays);方法
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

没有什么是应该

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值