自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 java异步导出实现

使用线程池管理异步任务,确保了任务的并发执行和资源的合理利用。采用 CompletableFuture 实现异步导出和回调更新,简化了异步任务的编写和管理。使用工厂模式和策略模式实现导出任务处理器,使得系统具有良好的可扩展性和灵活性。如果异步导出任务的并发量过大,而线程池的资源配置不足,则可能导致任务排队等待执行,影响任务的实时性和响应速度。如果导出任务的处理时间过长,且线程池的工作线程数量有限,则可能导致任务执行效率低下,无法及时完成任务,影响系统的整体性能。可靠性不高。

2024-03-21 10:35:08 2162

原创 深入浅出mysql索引

假设主键为bigint 8字节,指针长度为6字节,那么目录页的索引长度为14,那么一个目录数据页可以存放 (16*1024)/ 14 = 1170 ,那么三层结构前面两层的目录数据页可以存放的数据为 1170 * 1170,假设最后一层真实用户记录的大小为1K,那么存放真实记录的数据页 一页可以存放 (16*1024)/ 1024 = 16,那么最终的结果为 1170 * 1170 * 16 大约为2000w条数据,实际上真实的应用场景记录大小不会那么大,所以3层的结构就基本上适用大部分的场景了。

2024-03-20 17:22:45 987

原创 【设计模式运用】模版方法模式

模版方法设计模式是一种行为型设计模式,它允许你定义一个算法的框架,但将一些步骤的实现延迟到子类中。这样,子类可以重新定义算法的某些特定步骤,而不改变算法的结构。模版方法包含以下主要角色:抽象类(Abstract Class)定义了一个提供了算法骨架的模版方法,包含了算法中的基本步骤和一些具体实现的方法。可能包含一些抽象方法,这些方法由具体的子类来实现,以完成算法的特定步骤。具体子类(Concrete Subclasses):实现了抽象类中定义的抽象方法,以完成算法的特定步骤。

2024-03-19 15:16:59 680

原创 扩展@Cacheable自定义缓存过期时间

采用这种方式扩展@Cacheable好处是实现是简单,但缺点是语义不直观,因此得做好宣导,不然对于新人来说,他可能都不知道cacheName用#分割是代表啥意思,对于本项目来说直接这么使用较为方便,还有一种方式是可以自定义注解,有兴趣的同学可以自行研究~

2024-03-19 10:34:40 2832

原创 【设计模式运用】策略模式

策略模式(Strategy Pattern)是一种行为设计模式,它允许你定义一系列算法(策略),将每个算法封装成独立的对象,并使它们可以互相替换,而不会影响客户端代码。策略模式的主要目的是在运行时动态选择算法,使系统更加灵活,可扩展,以及易于维护。策略模式包含以下主要角色:策略接口(Strategy Interface):定义了一组算法的通用接口,通常包含一个或多个方法,这些方法用于执行特定的操作。具体策略类(Concrete Strategies):这些类实现了策略接口,提供了不同的算法实现。

2024-03-18 14:36:01 2017

原创 【设计模式运用】责任链模式

责任链设计模式(Chain of Responsibility Pattern)是一种行为型设计模式,用于构建处理请求的对象链。在这种模式中,请求从链的一端开始,然后依次经过链中的各个处理器(或处理节点),直到找到能够处理请求的处理器为止。每个处理器都决定是否能够处理请求,如果可以处理,则处理请求,否则将请求传递给下一个处理器。这种方式可以实现请求的分发和处理,同时使代码更加灵活和可扩展。

2024-03-18 14:04:05 877

空空如也

空空如也

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

TA关注的人

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