自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 表单渲染引擎 —— 实操上手指南

表单渲染引擎 —— 实操上手指南

2026-05-20 00:17:13 414

原创 计费因子动态匹配引擎 — 从三条链路演进看规则引擎设计

本文介绍了计费因子匹配系统的设计演进,重点分析了V1老链路基于Groovy表达式引擎的实现方案。系统通过三种链路共存的方式处理不同场景:V1老链路采用Groovy脚本实现因子取值逻辑外置化,支持从请求参数直接取值、参数中心配置表达式或默认表达式三种匹配方式;V2新链路处理新增约束条件;V3主动计费链路优先使用Spring Bean。文章详细阐述了V1链路的数据结构、取值流程和Groovy执行引擎的实现细节,为开发者设计类似动态定价系统提供了参考方案。

2026-05-19 00:18:36 407

原创 从零设计企业级校验框架:Spring Boot + SPI 实战指南

本文介绍了一个基于Spring Boot 3和Java 17的企业级校验框架设计方案。该框架采用SPI+模板方法模式+并发调用技术,解决了传统校验方式存在的代码臃肿、难以扩展、性能差等问题。框架支持零代码扩展、高性能并发校验、灵活配置和独立测试等特性。文章详细展示了从项目创建到核心实现的完整过程,包括定义校验结果枚举、结果模型等关键组件,并提供了完整的Maven依赖配置。该方案适用于电商等需要复杂校验规则的业务场景,能显著提升系统性能和可维护性。

2026-05-18 00:08:59 446

原创 表单渲染引擎完整指南

本文介绍了动态表单渲染引擎的设计与实现,主要解决多地区商户入驻表单的差异化需求。系统通过模板引擎将字段属性与布局模板分离,实现动态Schema生成。核心流程分为三步:1)构建变量上下文,将决策因子和字段属性组装为嵌套Map;2)使用Velocity引擎解析XML模板中的条件语法;3)将纯XML转换为前端可消费的JSON格式。该架构支持热更新、动态决策和差异化表单渲染,避免了硬编码带来的维护成本。关键组件包括变量构建器、Velocity模板引擎和XML-JSON转换器,适用于需要灵活表单配置的全球化业务场景。

2026-05-15 00:34:20 376

原创 灰度切流策略框架设计

本文介绍了一套基于策略模式与配置驱动的通用灰度发布框架。该框架支持白名单、黑名单、百分比等多种切流策略,并允许策略组合使用。通过配置热更新实现零代码侵入,解决了传统灰度发布中代码耦合度高、调整需发版等问题。框架采用策略模式设计,将每种灰度策略封装为枚举+处理器形式,支持动态加载配置和实时生效。业务方只需调用统一接口传入业务码和目标ID即可完成灰度决策,实现了"一行代码接入、配置动态生效"的目标。

2026-05-12 00:35:32 411

原创 门户入驻系统表单渲染技术指南

本文档介绍了门户入驻系统的表单渲染技术,通过动态化、可配置的方式实现表单UI的快速生成。核心流程包括:从数据库获取Form对象(包含字段定义)、加载XML布局模板、通过渲染引擎生成JSON Schema,最终由前端渲染表单UI。系统采用自研的FormLayoutRenderEngine,将数据库配置与静态模板结合,支持商户入驻、企业登记等动态表单场景。关键优势在于表单逻辑与业务解耦,通过配置而非代码修改实现表单调整,显著提高了复用性和开发效率。

2026-05-10 14:48:49 397

原创 商户门户入驻解决方案

本文档提出了一套通用的商户门户入驻解决方案,适用于支付、电商、金融等平台的商户自助入驻场景。方案采用分层架构设计,包含前端门户层、网关层、业务服务层、插件化扩展层和数据持久层。核心功能包括:1)基于决策因子动态展示KYC表单;2)表单配置管理与校验;3)审核流程编排与处理。文档定义了统一的数据模型ViewDataItem,支持多种字段类型和审核信息,实现了前后端数据格式的统一。该方案具有自助化、流程化、动态化和合规化特点,开发者可通过提供的架构设计和代码示例快速实现门户入驻功能。

2026-05-08 23:59:28 606 4

原创 【扩展】异步业务节点处理和远程适配器调用机制

异步业务节点处理和远程适配器调用机制

2026-04-15 22:57:43 529

原创 可扩展流程适配机制

一套可复用的能力分层框架,支持多渠道适配、动态扩展、远程调用。

2026-04-12 12:34:27 438

原创 LiteFlowEngine - 轻量级流程引擎

LiteFlowEngine是一款轻量级流程引擎开源框架,专为中小型项目快速实现业务流程编排而设计。该框架具有以下核心特点: 轻量高效:核心代码仅3000行,无复杂依赖 配置灵活:通过XML定义流程,避免硬编码 插件化架构:支持自定义Activity节点扩展 开箱即用:提供模板方法和分布式锁支持 上下文共享:实现Activity间数据传递 相比Activiti等重量级框架,LiteFlowEngine更简单易用;相比LiteFlow开源框架,它采用传统面向对象编程方式,学习成本更低。适用于商户入驻、订单处理

2026-03-23 00:22:27 484

原创 轻量级动态DAG流程引擎

可一键使用的轻量级DAG流程编排引擎

2026-03-08 16:37:24 459

原创 JVM编译优化实战篇

Java JIT编译优化深度解析 本文系统解析Java JIT编译机制,包含两大核心优化实战: 方法内联优化:通过案例演示小方法如何被内联到调用处,消除方法调用开销,并提供完整的命令行验证方法。 逃逸分析三大优化: 锁消除(实测性能提升30%+) 标量替换(实测性能提升50%) 澄清"栈上分配"在HotSpot中未实现的误区 关键发现: JIT通过分层编译(5层模型)动态优化热点代码 逃逸分析的实际优化效果可通过参数开关直接验证 提供完整的JVM参数速查表,涵盖JIT控制、优化开关等关键

2026-03-04 00:16:55 400

原创 深入JVM即时编译器JIT,优化Java编译

Java类编译、加载与执行全流程解析 本文深入解析Java程序从源码到执行的完整生命周期: 编译阶段 详细拆解javac将.java文件编译为.class文件的过程 解析.class文件结构,重点讲解常量池的组成与作用 类加载阶段 完整展示加载、连接、初始化三阶段流程 特别说明静态变量的初始化时机差异 图解双亲委派模型的工作机制 运行时优化 介绍JIT分层编译模型和热点探测机制 演示方法内联和逃逸分析两大优化技术的实际效果 实践指南 提供JIT模式切换命令和优化验证方法 澄清常见误区,如final变量初始化

2026-03-02 22:50:22 934

原创 [JVM调优前置]一次运行弄清jvm内存分配

JVM作为Java程序运行的核心引擎,通过自动内存管理和字节码执行机制,使开发者能够专注于业务逻辑。JVM内存模型分为堆、方法区、虚拟机栈、本地方法栈和程序计数器,各自承担不同功能。堆存储对象实例,方法区存放类信息,栈管理方法调用,程序计数器记录线程执行位置。随着Java版本演进,永久代被元空间取代,解决了内存溢出问题。理解JVM内存模型对性能调优至关重要,能帮助开发者定位内存异常和优化GC策略。通过分析代码在JVM中的运行过程,可以更深入掌握Java程序的执行机制。

2026-02-26 23:00:37 866

原创 ArrayList还是LinkedList?使用不当性能差千倍!

本文深入解析了Java List接口中的ArrayList和LinkedList实现,重点探讨了三大核心问题: ArrayList序列化机制:通过transient修饰elementData数组并自定义writeObject/readObject方法,实现高效序列化,仅存储有效数据而非整个数组,节省空间和时间。 ArrayList新增性能:尾部追加时性能优异(尤其预设容量情况下),打破"ArrayList新增一定慢"的误区。实测显示预设容量比未预设快近3倍。 遍历方式选择:ArrayLi

2026-02-24 22:51:05 583

原创 mockito中的启动注解和启动方法

没有它,PowerMock 的高级功能(如 mock 静态类)不会生效。它是 PowerMock 的“入口”。这是 PowerMock 实现“魔法”的必要声明。类似于“白名单”,告诉 PowerMock:“这些类请特殊处理”。是稳定性保障,避免 PowerMock 干扰 JDK 核心类。推荐在所有使用 PowerMock 的测试中添加。注解 / 代码作用是否必需是否可省略initMocks启用 PowerMock 的字节码重构能力✅ 必须(如果用 mockStatic 等)

2025-08-14 20:50:56 1677

原创 过滤器和拦截器

过滤器、拦截器和IOC容器执行顺序多个拦截器执行顺序过滤器与拦截器的区别filter之前调用ioc容器的bean

2023-09-06 09:39:38 255 1

原创 MySQL中的多种查询方式

在数据库中,可将查询方式大致分为单表查询、连接查询、联合查询从一张表中单独查询,称为单表查询,多个表联合起来查询数据,被称为连接查询。

2023-07-30 21:22:48 973 1

原创 mybatis时间格式转换异常

3、后端的入参按照@JsonFormat的格式传参(并没有使用@DateTimeFormat来格式化后端的入参)@DateTimeFormat的作用: 前端需要按照@DateTimeForma的格式进行传参。因为实体类是Date 类型,当你的用字符串的形式判断该字段是否为空时,会抛出该错误。实体类中使用@JsonFormat和@DateTimeFormat注解的时候。前端的时间是经过@JsonFormat格式化的时间。实体类中使用@JsonFormat注解的时候。Date类型属性的实体类作为参数的情况。

2023-07-26 21:42:57 2562 1

原创 Cas原理详解

64 位系统中,一个 Cell 为 24 字节(16 字节的对象头和 8 字节的 value),每一个 cache line 为 64 字节,因此缓存行可以存下 2 个的 Cell 对象,当 Core-0 要修改 Cell[0]、Core-1 要修改 Cell[1],无论谁修改成功都会导致当前缓存行失效,从而导致对方的数据失效,需要重新去主存获取,影响效率。,在低并发的时候直接更新,可以保障和 AtomicLong 的性能基本一致,而在高并发的时候通过分散减少竞争,提高了性能。

2023-05-19 00:29:48 884 1

原创 【三言两语】一些泛型小知识

一些易懂有用的泛型小知识。

2022-02-20 17:07:21 212 2

原创 《Java接口与抽象类异同(细节太多)|CSDN创作打卡》

目录接口1、接口的定义2、接口变量3、接口的使用4、不同类实现接口实例抽象类1、抽象类的定义2、抽象方法的定义3、抽象类实例抽象类与接口的区别一起进步吧!接口1、接口的定义接口用于规范对象应有的行为。接w口定义形式如下:interface 接口名{ //符号常量定义 //方法声明}在接口中定义的域(变量)必须是常量,它的值不能被实现它的类重新赋值。接口中也只能对方法进行声明,不能定义方法体。接口可以看作..

2022-02-09 17:52:39 486 2

原创 《Java概述,(JDK、JRE、IDE、EE等)重要术语介绍|CSDN创作打卡》;

Java语言程序的两种结构,一些入门术语介绍。

2022-02-08 17:32:46 580 2

原创 什么是递归?简单易懂,看完包会。递归的应用场景和调用机制以及能解决的问题,递归调用规则讲解全面详细且易懂。

递归解决打印问题,阶层问题实例,附源码。递归的应用场景和调用机制,详细!易懂!

2022-01-31 21:42:13 1910 2

空空如也

空空如也

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

TA关注的人

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