目录1.责任链设计模式的定义2.责任链设计模式的优点与不足3.责任链设计模式的实现思路4.责任链设计模式应用实例5.责任链设计模式应用场景编程是一门艺术,大批量的改动显然是非常丑陋的做法,用心的琢磨写的代码让它变的更美观。在现实生活中,一个事件需要经过多个对象处理是很常见的场景。例如,采购审批流程、请假流程等。公司员工请假,可批假的领导有部门负责人、副总经理 ......
288
0
0
2023-06-23
目录Java服务端解决跨域 CORS请求头解决方法CORS解决跨域的几种实现方式一、什么是跨域二、同源策略三、跨域的解决办法3.1、两种请求3.2、CORS常用解决跨域的方法Java服务端解决跨域 CORS请求头最近与前端进行本地联调时,发生了跨域的问题,无法访问我的服务端地址,使用了以下的方式进行了解决。解决方法通过fileter中写入ACCESS-Con ......
282
0
0
2023-06-22
目录概述JAVA DelayQueueDelayQueue的实现原理DelayQueue实现延时队列的优缺点时间轮算法时间轮的具体实现进阶优化版时间轮算法时间轮算法的应用小结redis延时队列mq延时队列rocketmq延时消息rocketmq的精准延时消息总结概述延时任务相信大家都不陌生,在现实的业务中应用场景可以说是比比皆是。例如订单下单15分钟未支付直 ......
303
0
0
2023-06-22
目录一、前言二、客户端续约1、入口构造初始化initScheduledTasks()调度执行心跳任务2、TimedSupervisorTask组件构造初始化TimedSupervisorTask#run()任务逻辑3、心跳任务HeartbeatThread私有内部类发送心跳4、发送心跳到注册中心构建请求数据发送心跳三、服务端处理客户端续约1、Instance ......
346
0
0
2023-06-22
目录简介为什么要持有外部类实例:持有外部类实例:不持有外部类实例:内存泄露不会内存泄露的方案简介说明本文介绍Java内部类持有外部类导致内存泄露的原因以及其解决方案。为什么内部类持有外部类会导致内存泄露?非静态内部类会持有外部类,如果有地方引用了这个非静态内部类,会导致外部类也被引用,垃圾回收时无法回收这个外部类(即使外部类已经没有其他地方在使用了)。解决方 ......
272
0
0
2023-06-22
(文章最后有彩蛋)1. Java 内存区域与内存溢出异常1.1 运行时数据区域 根据《Java 虚拟机规范(Java SE 7 版)》规定,Java 虚拟机所管理的内存如下图所示。 1.1.1 程序计数器 内存空间小,线程私有。字节码解释器工作是就是通过改变这个计数器的值来选取下一条需要执行指令的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需 ......
251
0
0
2023-06-22
目录自定义注解实现接口幂等性方式背景常见场景常见解决方案实现方法代码实现 思考与不足SpringBoot接口幂等性设计MVC方案基于Token方式防止API接口幂等实战教程自定义注解实现接口幂等性方式近期需要对接口进行幂等性的改造,特此记录下。背景在微服务架构中,幂等是一致性方面的一个重要概念。一个幂等操作的特点是指其多次执行所产生的影响均与一次执 ......
277
0
0
2023-06-22
目录前言Paho Java 库实现spring boot集成mqtt核心代码总结前言在开发MQTT时有两种方式一种是使用Paho Java 原生库来完成,一种是使用spring boot 来完成。Paho Java 库实现Eclipse Paho Java Client (opens new window)是用 Java 编写的 MQTT 客户端库(MQTT ......
308
0
0
2023-06-22
目录一、引入普通类二、引入ImportSelector的实现类1、静态import场景(注入已知的类)2、动态import场景(注入指定条件的类)3、Spring如何使用ImportSelector的场景三、引入ImportBeanDefinitionRegister的实现类1、举一个简单的示例2、举一个复杂点的例子Spring Boot中@Import三种 ......
292
0
0
2023-06-22
目录加锁锁续命(自旋)锁订阅及锁等待解锁总结相信使用过redis的,或者正在做分布式开发的童鞋都知道redisson组件,它的功能很多,但我们使用最频繁的应该还是它的分布式锁功能,少量的代码,却实现了加锁、锁续命(看门狗)、锁订阅、解锁、锁等待(自旋)等功能,我们来看看都是如何实现的。加锁//获取锁对象 RLock redissonLock = redis ......
293
0
0
2023-06-22
目录注解实现自动装配@Autowire注解@Qualifier注解@Resource注解@Component@Scope@ComponentScan@Bean@Configuration@ValueP命名空间注入C命名空间注入Spring开发包名解释Java方式配置注解实现自动装配@Autowire注解@Autowire注解,自动装配通过类型,名字如果Aut ......
281
0
0
2023-06-22
目录二叉查询树结点实现原理插入实现原理遍历实现原理删除实现原理结点插入与遍历案例二叉查询树概述二叉树(Binary tree)是树形结构的一个重要类型。许多实际问题抽象出来的数据结构往往是二叉树形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此二叉树显得特别重要。二叉树特点是每个节点最多只能有两棵子树,且有左右之分特点树 ......
252
0
0
2023-06-21
目录Spring事务管理环境搭建标准配置声明式事务总结SqlSessionFactoryXML中构建SqlSessionFactory获得SqlSession的实例代码实现作用域(Scope)和生命周期SqlSessionFactoryBuilder(构造器)SqlSessionFactory(工厂)SqlSession(会话)Spring事务管理事务(Tr ......
273
0
0
2023-06-21
目录1.背景2.Spring-AOP3.功能实现3.1 MethodPartAndRetryer3.2 RetryUtil3.3 RetryAspectAop4.功能使用4.1 配置文件4.2 代码示例5.小结1.背景随着数据量的增长,发现系统在与其他系统交互时,批量接口会出现超时现象,发现原批量接口在实现时,没有做分片处理,当数据过大时或超过其他系统阈值时 ......
256
0
0
2023-06-21
目录关系映射1. 关联映射概述2. 环境搭建3.处理字段名和属性名不一致的情况4. 处理一对一映射5. 处理多对一映射5.1 级联方式处理5.2 使用association处理映射关系5.3 分步查询6. 处理一对多查询7. 小结关系映射1. 关联映射概述在关系型数据库中,多表之间存在着三种关联关系,分别为一对一,一对多和多对多,如图一对一的关系:就是在本类 ......
261
0
0
2023-06-21