- 博客(5)
- 问答 (1)
- 收藏
- 关注
原创 使用ThreadPoolTaskScheduler实现定时任务调度
本文介绍了在项目限制条件下使用ThreadPoolTaskScheduler实现定时任务调度的解决方案。通过配置类创建线程池,设置核心线程数、线程前缀、任务取消策略等参数,并采用CallerRunsPolicy拒绝策略确保任务执行可靠性。该方法在不引入额外框架的情况下,利用多线程机制实现了高效的定时任务调度功能,适用于框架受限的开发场景。
2025-06-08 20:47:37
357
原创 java设计者模式:原型模式
原型模式通过复制现有对象生成新实例,避免直接实例化类的开销,适用于需要大量创建对象或创建复杂对象的场景。该模式核心优势在于降低对象创建成本,提高效率。典型应用包括:1)游戏开发中批量生成基础属性相同的角色实例(如小怪);2)循环场景中复用对象模板,仅修改差异属性。实现时需继承Cloneable接口并重写clone()方法,默认实现为浅拷贝。这种模式特别适用于对象初始化成本高或存在大量相似对象实例的情况。
2025-06-08 20:07:03
112
原创 java设计者模式:责任链模式
责任链模式的作用在于将多个行为串成一条线,让他们有顺序的执行下去,通常是线性结构,也可以是环形结构、树状结构,但是需要其它的设计支持。责任链模式主要元素:处理者接口、抽象处理类、具体实现类。优点:扩展性、解耦、动态调整顺序。
2025-06-08 19:39:12
168
原创 java设计者模式:策略模式
举一个常见的例子:支付功能,支付的方式存在微信、支付宝、银行卡等等。假设项目开始客户只需要微信支付,那么你只需要正常写微信支付的逻辑即可,后面客户又想要加一个支付宝支付,这时候加个if条件判断,然后加上支付宝的支付逻辑就行,再后面又想加银行卡支付、抖音支付一堆支付,如果一直加if判断也是可以解决的,如果觉得所以支付的逻辑都在if代码块中,导致代码又臭又长,那么可以将各个支付的逻辑提取成方法,这样代码就看起来美观了一些,后面加一种方式就加一个支付方法,同时修改支付功能的主方法中加一个if分支。
2025-06-04 18:07:05
211
原创 springboot+mybatis拦截器+自定义注解实现业务数据权限控制、逻辑删除,支持多表
表的数据权限由多个字段进行控制,并不是固定的部门、角色、用户id等,并且是否进行过滤因角色而异。字段a、b、c可以是部门id、用户id、岗位id、部门编码等等,假设字段a存储是部门id,字段b存储的是岗位id,那么角色1查询时候,就只能查询到其自身部门及岗位的信息。某些特殊情况不进行过滤的问题,(1)可以使用再自定义一个方法级的注解,在方法上标记注解,然后在过滤器中判断是否含有该标记(2)在构造sql时候,在sql上添加特殊标记,在过滤时判断是否存在特殊标记,存在则去除该标记,并且不追加过滤条件。
2025-06-04 17:14:28
458
1
空空如也
jquery中的$(this)怎么修改html内容
2021-12-31
TA创建的收藏夹 TA关注的收藏夹
TA关注的人