首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
ape-frame
ShiShuoMing
创建于2024-09-10
订阅专栏
搭建ape-frame框架过程中用到的技术
等 1 人订阅
共40篇文章
创建于2024-09-10
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
如何优雅关闭线程池
关闭线程池的几个方法: shutdown:线程池状态变为 SHUTDOWN - 不会接收新任务 - 但已提交和等待的任务会执行完 - 此方法不会阻塞调用线程的执行。 shutdownNow:线程池状态
future工具封装
future异步封装 说明: 我们一般使用 CompletableFuture+线程池 来进行实现异步任务,但是一般用于一些get()方法,过于单一,我们希望对此进行一些扩展,比如遇到超时或者执行报错
设计模式 -- 单例模式
一、概述 单例模式是一种设计模式,其目的是确保一个类只有一个实例,并提供一个全局访问点来获取该实例。这种模式在很多情况下非常有用,例如在需要共享资源、控制资源访问或者确保某个类在整个应用程序中只有一个
设计模式 -- 责任链模式
概念说明: 在责任链模式中,通常会有多个处理者对象(也称为处理器或者节点),它们按照某个顺序组成一个链。客户端向该链的开头发送请求,并沿着链传递直到有一个处理者能够处理该请求。每个处理者都有机会处理请
代码块、接口和抽象类、匿名内部类
代码块分为两类,使用static修饰的叫静态代码块,没有static修饰的,叫普通代码块/非静态代码块 基本语法: 好处:当于另外一种形式的构造器(对构造器的补充机制),可以做初始化的操作 注:代码块
优化HttpClient
说明: 因为Http连接最费时的是创建过程,所以我们可以对HttpClient进行优化,使用单例模式来实现创建过程,以此加速Http连接的效率! 1. 引入依赖 2. 创建HttpUtils类
WebSocket集成
1. 增加 ape-common-websocket 模块 2. 引入相关依赖 3. 定义WebSocketConfig配置类 说明: 只要使用WebSocket,就需要创建一个WebSocketCo
guava实现本地缓存工具
说明: 利用guava本地缓存和函数式编程来实现一个本地缓存。 注意: 因为之前缓存使用Redis来做,如果当所有的缓存都存储在Redis中的时候,一旦网络不稳定导致未及时相应,所有请求都可能被阻塞,
工厂模式 + 策略模式 实战
一、前言 本案例实现根据code值可获取对应支付方式,外部直接调用支付方法进行业务流程,调用者无需关注每种支付方式的具体执行流程 二、代码实现 2.1 定义支付方式PayChannelEnum枚举类
设计模式 -- 策略模式
说明: 在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改
设计模式 -- 抽象工厂模式
说明: 抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式
设计模式 -- 工厂模式
说明: 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露
设计模式 -- 模版模式
说明: 在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板,它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行(属于行为型模式) 意图: 定义
Aop实现记录操作日志
说明: 该日志切面,仅仅提供简单的方法入参、出参和方法耗时等简易记录,可自行定制! 1. 引入依赖 2. 编写LogAspect切面类
log4j日志引入及异步日志
1. 创建 ape-common-log 模块 2. 依赖文件 pom.xml 3. 日志文件log4j-spring.xml 异步日志配置: 4. 启动问题: 依赖冲突 说明: 在业务类启动时,报l
分布式锁的实现
说明: 为了脚手架的的实现,此处不使用Redission来直接实现,完全手动实现一个抢占式的分布式锁 使用场景: 1)任务调度(集群环境下,一个服务的多个实例的任务不想同一时间都进行执行) 2)并发修
Redis实现自动预热缓存
说明: 我们有可能遇到,当我们项目启动的时候,我们就想预热一部分的缓存的场景,所以我们要创建在项目启动时就加载缓存的模块! 1. 定义缓存的抽象类AbstractCache 定义数据预热的规则 2.
配置RedisTemplate解决序列化乱码
1. 序列化问题: 出现乱码 使用默认的redisTemplate进行redis操作时,key和value都会出现乱码 2. 解决序列化问题 2.1 引入Jackson依赖 2.2 创建redisCo
Swagger集成
注意: 因为Swagger需要对代码打注解,所以具有代码侵入性,建议尽量不要使用Swagger! 1. 增加 ape-common-swagger 模块 2.引入相关依赖: ape-common-sw
集成MapStruct
问题: 我们在ReqToDto和DtoToPo的时候,我们使用BeanUtils来进行属性的复制,其实这种方案的性能是很低的,那么我们如何提高性能呢? 想法: 如果我们能够采用set(get)方法的形
下一页