自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 问答 (1)
  • 收藏
  • 关注

原创 销量系统逻辑文档

【代码】销量系统逻辑文档。

2024-06-10 17:05:14 158

原创 通过枚举类实现策略模式的上下文切换

一、让我们先来看一段非常蠢的策略切换这段Java代码主要实现了以下功能:依赖注入策略类列表:使用了 注解来自动注入实现了 接口的所有类的实例列表。这些策略类的实例被存储在名为 的 集合中。筛选特定策略实现:通过使用流(Stream)操作,从 列表中筛选出符合特定条件的策略实现。这个条件是策略实现类上的 注解中的 属性值与请求DTO () 中的 属性值相匹配。使用反射获取注解值:在筛选过程中,代码使用了反射来访问每个策略实现类上的 注解,特别是该注解的 属性。反射是必要的,因为这些值

2024-04-29 17:10:57 516

原创 根据不同的场景选择Spring事件监听或消息中间件

Spring事件监听机制和Kafka消息中间件都可以用来实现应用间的通信和数据共享,但它们各自的设计目标和使用场景有显著的不同。

2024-03-14 15:10:18 364 1

原创 Collections验证两个集合是否存在交集关系和包含关系的方法

转换的成本(O(n))在第一次转换后就可以通过后续操作中的性能提升来弥补。进行操作通常会更高效,尤其是在处理大型数据集时。的形式存在,而你需要频繁地进行包含关系的检查,那么将这些。方法来验证一个集合是否包含另一个集合的所有元素时,选择。)中,元素的查找时间复杂度为O(1)。因此,整个操作的时间复杂度大致为O(n),其中n是。中的元素,只需要常数时间就可以检查它是否存在于。的操作时间复杂度可能达到O(n*m),其中n是。中,查找元素的时间复杂度为O(n)。这在两个列表都很大时会非常慢。因此,如果你已经有了。

2024-03-05 16:49:18 462 1

原创 mt代码规范

4.thrift中要将入参DTO转为BO,然后BO作为业务对象在biz中被调用,BO在biz中要做业务的存在性校验,如bo在biz中要验证传入的leadsId的参数的订单是否存在,传入操作人的userId的操作人是否和订单操作人信息一致。2.thrift层级做rpc接口入参的基本参数校验,如leadsModifyReqDTO的leadsId为必传参数,必须做存在性校验。3.thrift中不能调用remote接口,此为业务接口,必须调用biz接口然后由biz来调用remote接口。(调用biz业务接口)

2024-02-04 16:28:18 415 1

原创 使用Spring事件监听来发送消息

我们都知道使用mq是为了业务的解耦,那么在业务代码中插入一段消息发送代码是不是也增加了代码的耦合呢,当然我们可以使用线程池异步发送消息,但是这样依旧让代码变得臃肿,不利于维护,尤其是存在同类型发送消息的业务。此时我们可以想一下,引入mq机制是为了解耦,那么发送消息的这段代码是否可以理解为发布订阅的过程,那么我们就把发送消息的这段代码定义为一个事件,由监听器对该类型事件进行监听和统一处理,这样便实现了业务解耦,同时也省去了线程的开销。

2024-01-30 15:16:24 377 1

原创 接口的向上和向下转型

在Java中,接口的向上转型(Upcasting)和向下转型(Downcasting)也是非常重要的概念。这些概念在接口与实现类之间的关系处理中经常出现。

2024-01-24 16:36:57 492

原创 AOP切面中通知的执行顺序

在面向切面编程(AOP)中,切面(Aspect)的执行顺序是指不同切面或通知(Advice)在目标方法执行过程中的调用顺序。了解和控制这个顺序是非常重要的,特别是当你的应用程序中有多个切面都应用于同一个连接点(如同一个方法)时。

2024-01-24 15:26:28 596 2

原创 CompletableFuture.supplyAsync 和 ExecutorService.submit 的区别

则是一个更底层和简单的异步执行方式,适用于基本的异步任务执行。选择取决于具体的需求和异步编程的复杂性。提供了更强大和灵活的异步编程功能,适用于构建复杂的异步任务链。接下来给大家展示一个更通用的。

2024-01-23 20:00:00 557 1

原创 属性扩展表的创建和使用

"属性扩展表"(Attribute Expansion Table)是一个用于管理和组织数据的概念,它通常用于数据库设计、数据建模或软件开发中。这个表格的目的是为了提供一个灵活的方式来存储和检索那些不易适应传统的、固定列的表格结构的数据。总结:leads作为订单表不可随意扩展字段,一次设计leads_attribute作为订单扩展字段表,leads_id作为关联字段,并且用该字段横向分表。这种表格结构的一个典型应用案例是在电子商务系统中用于存储产品的各种不同属性,因为不同的产品可能有各自独特的属性集。

2023-12-29 14:45:22 440 1

原创 解决黑白客户名单发布和灰度发布问题

2.Lion是作者工作公司的特有中间件,可以理解为nacos的配置文件专门抽出来做了一个功能,用来获取各种类型的配置文件(可修改为nacos配置文件获取工具类)

2023-12-23 14:27:45 446 1

原创 分页查数据当前页提交线程池分批次处理

【代码】分页查数据当前页提交线程池分批次处理。

2023-12-23 14:12:14 365 1

原创 解决静态方法注入bean问题

如果你必须使用静态字段,可以考虑通过一个非静态的setter方法来注入静态字段。在Spring中,你可以通过一个非静态的方法来设置静态字段的值。注解的方法,在所有注入完成后设置静态字段。

2023-12-19 19:15:28 497 1

原创 常用的断言校验类

【代码】常用的断言校验类。

2023-12-16 14:10:58 314 1

原创 成单域能力

2023-12-01 10:41:11 376 1

原创 java主线程等待子线程池执行完再执行

是 Java 中用于等待线程池中的所有任务执行完毕的方法。这个方法通常用于在程序结束前确保所有任务都已经完成,例如在服务器关闭之前。来阻塞当前线程,直到所有任务完成执行,或者超时,或者当前线程被中断。方法来等待线程池中的所有任务执行完毕。以下是一个简单的示例。如果等待过程中当前线程被中断,它会抛出。如果线程池在指定的时间内关闭,或者调用。来创建一个线程池,并使用。在Java中,你可以使用。如果超时期限到达,返回。

2023-11-20 16:54:36 414 1

原创 时间轴返回图表数据

【代码】时间轴返回图表数据。

2023-10-27 10:15:02 38 1

原创 apipost中文乱码

2023-04-04 16:48:28 999 1

原创 datetime作为表属性查询不到,date可以

本地测试没问题,查询功能正常,上传到线上后sql打印日志显示查不出数据,经过排查后发现将日期属性从datetime改为date线上就可以正常执行了,原因暂时不知道,欢迎补充。

2023-03-28 10:35:54 141

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除