原创 后端技术 握草!你竟然不晓得Java中可以用 :: 吗? 方法引用分为三种,可以通过一对双冒号:: 来表示,方法引用是一种函数式接口的另一种书写方式 静态方法引用,通过类名::静态方法名, 如 Integer::parseInt 实例方法引用,通过实例对象::实例方法,如 str::substring 构造方法引用,通过类名::new, 如 User::new 2022-12-08 浏览(352) 评论(0) 阅读全文
原创 后端技术 不是吧!不是吧!你不会还不知道如何在 IDEA 中生成 Maven 依赖关系图吧? Maven提供了mvndependency:tree来查看依赖关系,而IDE往往提供了更加便利的方式,比如Eclipse或者IDEA都有类似的功能,这篇文章简单说明一下如何在IDEA中查看依赖关系。 2022-10-12 浏览(410) 评论(0) 阅读全文
原创 后端技术 300万数据导入导出优化方案,从80s优化到8s(实测) 300百万数据的导入导出前景:在项目开发中往往需要使用到数据的导入和导出,导入就是从Excel中导入到DB中,而导出就是从DB中查询数据然后使用POI写到Excel上。写本文的背景是因为在工作中遇到了大数据的导入和导出,问题既然来了逃跑不如干掉它!!!只要这一次解决了,后期遇到同样的问题就好解决了。废话不多说,开始撸起来!!!1传统POI的的版本优缺点比较其实想到数据的导入导出,理所当然的会想到apache的poi技术,以及Excel的版本问题。既然要做导入导出,那么我们就先来大致 2022-09-28 浏览(391) 评论(0) 阅读全文
原创 后端技术 为什么 Spring 和 IDEA 都不推荐使用 @Autowired 注解 大家在使用IDEA开发的时候有没有注意到过一个提示,在字段上使用Spring的依赖注入注解@Autowired后会出现如下警告 Field injection is not recommended (字段注入是不被推荐的) 但是使用@Resource却不会出现此提示 2022-09-27 浏览(403) 评论(0) 阅读全文
原创 后端技术 SpringBoot 设置动态定时任务,千万别再写死了~ 我们在SpringBoot项目中经常需要使用定时任务,不过由于要借助cron表达式且都需药提前定义好放在配置文件里,不能在项目运行中动态修改任务执行时间,实在不太灵活。 经过网上搜索学习后,特此记录如何在SpringBoot项目中实现动态定时任务。 因为只是一个demo,所以只引入了需要的依赖: 2022-09-26 浏览(414) 评论(0) 阅读全文
转载 后端技术 基于Netty+websocket实现IM即时通讯(简易版) 基于springboot+netty+websocket搭建简易IM即时聊天通讯系统 2022-09-23 浏览(492) 评论(0) 阅读全文
转载 后端技术 select......for update会锁表还是锁行。 select查询语句是不会加锁的,但是selectforupdate除了有查询的作用外,还会加锁呢,而且它是悲观锁。那么它加的是行锁还是表锁,这就要看是不是用了索引/主键。没用索引/主键的话就是表锁,否则就是是行锁。验证:建表sql//id为主键//name为唯一索引CREATETABLE`user`( `id`INT(11)NOTNULLAUTO_INCREMENT, `name`VARCHAR(255)DEFAULTNULL,. 2022-09-23 浏览(382) 评论(0) 阅读全文
原创 后端技术 重复提交解决方案 产生原因 由于重复提交或网络重发 按钮提交点击两次 点击了刷新 使用浏览器后退按钮重复之前的操作,导致重复提交表单 浏览器重复的http请求 nginx重发 分布式RPC的重试,如Mq幂等性问题 解决方案 这里主要分为前端和后端 2022-09-16 浏览(456) 评论(0) 阅读全文
原创 后端技术 Java8 一行代码解决了空指针问题,完美~ JAVA8之妙用Optional解决判断Null为空的问题引言在文章的开头,先说下NPE问题,NPE问题就是,我们在开发中经常碰到的NullPointerException.假设我们有两个类,他们的UML类图如下图所示在这种情况下,有如下代码user.getAddress().getProvince();这种写法,在user为null时,是有可能报NullPoint... 2022-09-16 浏览(331) 评论(0) 阅读全文
转载 后端技术 Kafka 为什么会丢消息? 在分布式系统中,如果两个节点之间存在数据同步,就会带来数据一致性的问题。 消息生产端发送消息到 MQ 再到消息消费端需要保证消息不丢失。 所以在使用 MQ 消息队列时,需要考虑这 3 个问题: 如何知道有消息丢失? 哪些环节可能丢消息? 如何确保消息不丢失? 2022-09-14 浏览(368) 评论(0) 阅读全文