- 博客(54)
- 收藏
- 关注
原创 Mybatis的Map遍历踩坑
全部都是使用entry.key来获取key,entry.value获取值。需要用到对map的遍历,获取到map的key和value值。
2025-07-04 14:25:48
208
原创 Stream的并行方法parallelStream使用和常见问题
可以将集合数据分成多个小块,分配到多个线程并行处理,从而提高程序的执行效率。而多线程是一种更加通用的并行处理方式,它可以用于任何需要同时进行多个任务的场景。简而言之:parallelStream使用多线程提高效率。
2024-12-19 17:24:25
334
原创 手写JDK动态代理实现AOP
AOP(Aspect Oriented Programming,面向切面编程)在 Java 中的实现有多种方式,其中使用 JDK 动态代理和 CGLIB 代理较为常见。当你的应用程序遵循面向接口编程的原则时,JDK 动态代理是一个自然的选择。如果你的目标对象实现了一个或多个接口,并且你希望在不修改目标对象代码的情况下为其添加额外的功能,如日志记录、性能监测、安全检查等,那么可以使用 JDK 动态代理。对象如果实现了接口就是用jdk动态代理,否则使用cglib。
2024-11-11 00:39:21
476
原创 数据库错误[ERR] 1071 - Specified key was too long; max key length is 1000 bytes
把default-storage-engine=MyISAM改为default-storage-engine=INNODB即可。因为默认使用MyISAM,MyLSAM限制1000 bytes,超出报错,将Mysql改为Innodb即可。试了还是有问题,直接启动不了了。因为mysql8取消了这个配置。环境:phpstudy的mysql8。
2024-06-11 12:44:55
1180
1
原创 Gateway报错Consider defining a bean of type ‘org.springframework.http.codec.ServerCodecConfigurer‘
2024-06-06 16:28:22.116 ERROR [service-gateway,,,] 22452 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter : ***************************APPLICATION FAILED TO START***************************Description:Parameter 0 of method modifyRespo
2024-06-06 16:33:51
424
原创 redis面试点
缓存穿透是指查询一个缓存中和数据库都不存在的数据,导致每次请求都到达数据库.结合业务场景来使用,如果对数据的一致性要求不是很高,可以使用缓存空对象。如果要求强一致性,可以使用布隆过滤器。缓存击穿是指一个热点key突然过期,且重构缓存时间较长,导致大量的请求到达数据库,造成数据库宕机等结合业务场景来使用,如果要求数据强一致性,采用互斥锁方式,但性能较差,因为其他线程需要等待缓存的构建。如果不要求数据强一致性,可以采用逻辑过期,性能较好。
2024-05-18 17:13:28
658
原创 添加本地jar包到指定本地路径仓库
不指定本地仓库总是把jar包安装在C盘下,但是我的maven仓库在E盘,所以需要指定到我的mavne仓库。-Dmaven.repo.local指定本地仓库路径。
2024-05-15 15:15:58
286
原创 服务器之间实现免密码传输文件(scp免密传输)
通过scp实现不同服务器之间的文件传输正常使用scp传输文件传输文件命令:scp /data/文件 root@服务器地址:/指定目录传输文件夹命令:scp -r /data/文件 root@服务器地址:/指定目录可以看到需要输入密码但是如果定时任务肯定不能输入,因此就需要免密传输。
2024-05-14 11:17:03
2142
1
原创 前后端分离项目springsecurity实现用户登录认证快速使用
ps:该文章适合未系统学习springsecurity快速使用,可以直接cv使用,只有部分源码讲解,个人觉得先会用了再深究原理。
2024-03-20 10:26:52
2474
3
原创 java多线程学习(二)
多个线程,在操作同一共享资源时,可能会出现的业务问题例如:取钱的线程安全问题A和B两人同时去银行取钱一万元,对同一个账户进行操作,A使用银行卡,B使用存折,卡内余额一万元。取钱流程:1.判断余额是否足够2.余额足够取钱3.更新余额多线程执行时,当A执行到第一步,判断余额足够取钱,还未执行到第三步。这时候B也进行取钱,这时候判断余额也是足够的,因此两人都可以进行取钱操作。在取钱之后更新时余额就成了负一万元。
2024-03-16 16:53:46
847
原创 SpringCloud之OpenFeign的学习、快速上手
OpenFeign简化了Http的开发。在RestTemplate的基础上做了封装,在微服务中的服务调用发送网络请求起到了重要的作用,简化了开发,可以让我们跟写接口一样调其他服务。并且OpenFeign内置了Ribbon实现负载均衡。
2024-01-21 23:05:50
1117
原创 SpringCloud之Nacos的学习、快速上手
1、什么是NacosNacos是阿里的一个开源产品,是针对微服务架构中的服务发现、配置管理、服务治理的综合型解决方案,用来实现配置中心和服务注册中心。Nacos 快速开始2、安装运行nacosnacos下载地址下载地址: https://github.com/alibaba/nacos/releaseszip为Windows压缩包 tar.gz为linux压缩包个人百度网盘分享链接:https://pan.baidu.com/s/1RTNA0Gx5chpyb-HX
2024-01-20 11:25:49
1324
原创 springboot+七牛云实现文件上传并返回url
填自己的AK和SK 配置自己的空间名称 以及自己的访问域名。在application文件中配置七牛云密钥。
2024-01-06 15:19:59
1104
原创 Navicat连接数据库mysql报错10061
在使用docker安装完mysql8,使用sqlyog或者nacicat连接,需要修改密码加密规则,因为低版本客户端工具不支持mysql8最新的加密规则。在使用nacicat连接docker中的mysql容器时出现了10061的错误。
2023-12-28 01:40:51
3269
原创 快速上手springboot搭建WebSocket服务器实现聊天(一)
用户连接上该websocket服务器触发该方法,将当前map<userId,session>存入代表该用户进入服务器即用户在。wensocket服务器收到消息时触发,例如当某一用户发送消息时,先将该消息发送到websocket服务器,再由服务器发送。用户断开websocket服务器连接触发该方法,并根据用户id将该用户和该用户的session从在线服务器用户中删除。当用户想给某一用户发消息时,调用该方法,传入接收方用户id以及发送的消息。我们分别让id为1、2、3的用户连接服务器。所有的在线用户都收到了。
2023-12-26 18:15:44
1949
1
原创 基于springsecurity、mybatisplus实现注册功能
生成UserService、UserServiceImpl、UserController、User实体类。注释掉security依赖发送请求,我们可以看到存到数据库里的密码是明文密码,未经过加密的。依赖:web、security、mybatisplus、mysql、lombok。对比两次结果,没使用security前是明文密码,使用后是密文。同时,不仅需要前端进行某些字段的判空,后端也需要进行一次判断。有时候会要求用户名唯一,所以要加一次判断,判断是否重复。配置SecurityConfig配置类。
2023-04-21 22:53:47
419
原创 FastJson序列化、redis配置类、FastJsonRedisSerializer、RedisConfig、RedisCache、JwtUtils工具类、跨域配置、MP分页拦截器
FastJson序列化、redis配置类、FastJsonRedisSerializer、RedisConfig、RedisCache、JwtUtils工具类、跨域配置、MP分页拦截器、BeanCopyUtils。
2023-04-13 20:10:42
1181
原创 SpringBoot项目启动失败(卡在Started ForumApplication in 1.693 seconds (JVM running for 2.426))
解决:在pom文件中加上spring-boot-starter-web依赖。进程已结束,退出代码为 0。
2023-04-12 09:25:04
2479
原创 MyBatisPlus快速入门讲解
上面所展示的只是一部分BaseMapper中还有很多提供的方法,大家可以自己测试一下,wrapper相关的后面会继续更新文章。
2023-03-17 09:55:51
352
原创 SpringBoot项目打war包报错:webxml attribute is required
SpringBoot项目打war包报错:Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.2:war (default-war) on project CommunityApplet: Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/web.xml if executing in update mode)
2023-03-06 10:54:55
601
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人