- 博客(57)
- 收藏
- 关注
原创 智能体之外部工具篇(2)
方案适用场景示例简单工具调用,如天气、计算器、数据库查询,快速集成API调用;微服务接入;对接已有函数接口复杂多工具协作任务,如多步决策、角色分工、复杂多轮对话、带记忆的智能体系统可以结合自己的使用场景选择对应的解决方案,技术是用来解决实际业务问题的,切记为了使用某种技术而使用,为了设计好看而设计。
2025-08-01 18:21:50
322
原创 DDD之挖掘用户故事(3)
本文通过一个生活中经常看到的售卖场景,介绍了用户故事挖掘的方法论,后续会接着介绍战略设计阶段领域划分相关的方法论和实践,欢迎关注,一起学习、一起交流进步。
2025-08-01 12:38:44
231
原创 dubbo源码之消费端启动的高性能优化方案
Dubbo作为一款功能强大的服务治理框架,自然在性能方面也是“遥遥领先”,本文讲的只是冰山一角,关注我,后续会分享更多高级、有深度的设计,同时欢迎一起交流,一起进步。
2025-07-31 20:21:13
422
原创 智能体之入门篇1
智能体(Agent)是指一个具有自主感知、决策、执行和学习能力的系统或程序,能够根据环境变化做出响应、实现特定目标。感知(Perception):通过输入获取环境信息(如用户指令、传感器数据、上下文等)。决策(Reasoning / Planning):基于规则、模型或大语言模型进行任务拆解与策略选择。执行(Action):调用工具(Tool)、API 或执行操作来完成目标任务。记忆与学习(Memory / Learning):具备对话历史、外部知识库记忆能力,并在执行中持续优化行为。
2025-07-30 19:08:57
711
原创 dubbo应用之微内核架构
Dubbo的微内核架构是一种可扩展的设计模式,基于核心框架 + 扩展插件的思想。dubbo的微内核架构设计理念,体现了一种可插拔,高度可扩展的架构设计,我们在日常的编程中也可以参考这种思路,用一种类似于操作系统的理念来设计自己的系统,当然一定要根据实际的场景需要,切勿过度设计。
2025-07-30 12:00:30
214
原创 SpringAIAlibaba之入门篇(1)
Spring AI Alibaba 是Spring AI 的扩展实现,专门用于支持阿里云的 AI 模型。它对接了阿里云的大语言模型平台DashScope,以“开箱即用”的形式提供统一封装、标准接口、Spring Boot 风格的配置体验。特性描述兼容 Spring AI 接口完全对接 Spring AI 核心结构(如ChatClient支持阿里云 DashScope支持通义千问系列模型(如 qwen-turbo、qwen-plus)、图像生成、多模态模型等Spring Boot 原生支持。
2025-07-30 11:34:11
252
原创 dubbo应用之3.0新特性(响应式编程)(2)
Dubbo 3.0 的响应式编程基于 Triple 协议和 Reactor/RxJava 实现,支持全链路异步非阻塞通信。它通过引入MonoFlux等响应式类型,打通跨进程的数据流式传输,天然支持反压、限流等控制能力。相比传统基于的异步方式,响应式编程更适用于高并发、实时性强的微服务场景,能显著提升系统弹性与资源利用率,是 Dubbo 向现代响应式架构演进的重要特性。
2025-07-29 20:41:48
485
原创 DDD之整体设计流程(2)
整体分为四个阶段,首先是挖掘用户故事(梳理业务流程)、在挖掘用户故事的同时就会建立统一语言,统一语言是非常有必要的,否则就会出现沟通效率低,沟通不一致的情况,并且这种统一语言不仅是技术与技术之间,更重要的是技术与业务之间,统一语言之后就会进行上层建设(战略设计)、上层假设规划好之后,接着就会进行应用落地(战术设计)、后续会针对这四个阶段分别展开进行详细深入的介绍。DDD是一个方法论,是一个解决复杂业务场景的方法论,在如今产业互联网的大背景下,通过这一理论的学习,将帮助我们更好的设计复杂业务场景。
2025-07-28 23:11:43
866
原创 AI学习之Cursor项目实战
Cursor是一款为程序员量身打造的AI 编程编辑器,基于 VS Code 打造,但集成了强大的 AI 能力(如 ChatGPT),支持用自然语言编写、修改和理解代码。
2025-07-28 12:19:46
357
原创 SpringAI应用之MCP协议通信
AI应用开发过程中,Agent需要与各种Tools进行互联,那么就需要为这个过程建立标准,否则实现方式各种各样,互相不兼容,发展就会缓慢,那么此时MCP的出现,就很好的解决了这个问题,相信后续Agent生态在MCP的加持下发展会更加有活力。
2025-07-27 19:27:34
371
原创 dubbo应用之3.0新特性(1)
Override// 异步处理// 模拟耗时逻辑,比如记录日志// 真正调用服务});这个 Filter 就实现了“Filter 链异步化” —— 调用链中某些节点可释放线程、异步处理逻辑,而不是一层层同步调用。特性Dubbo 2.7Dubbo 3.0异步范畴点对点异步(全链路异步(调用链、Filter、协议)Filter 支持支持异步 Filter,但受限全链路异步可穿透所有 Filter协议层支持不支持 Streaming。
2025-07-24 21:09:54
774
原创 工具篇之开发IDEA插件的实战分享
这篇文章,我们用 Java + Maven 构建了一个 IDEA 插件,并用 Spring Boot 的设计思想组织插件结构,完成了一个具备实战价值的“代码生成器”。📌插件开发不只是“写工具”,而是工程体系的延伸。未来我们可以拓展插件能力:支持 Velocity 或 FreeMarker 模板自动调用代码生成器或微服务注册接口接入 AI/LLM,实现智能生成接口定义如果你所在团队也存在重复性工作、规范不一致、低效手动生成等问题,不妨考虑开发一个属于你们的 IDEA 插件,让开发真正“自动起来”!
2025-07-24 20:16:45
925
原创 智能体之 LangChain
LangChain 本质上是一个“智能体编排器”。它的目标并不是替代语言模型,而是把语言模型变成具备实用价值的 Agent 系统。它通过一整套模块化设计和统一接口,极大地降低了构建智能体的门槛。对于开发者而言,LangChain 就像是“智能体世界的 Spring 框架”:你不必关心每一个底层细节,而是通过高层抽象快速构建、调试和部署应用。未来的 AI 应用将不仅仅是聊天机器人,而是一个个具备“思考、记忆、行动”能力的数字体,融入各类业务系统。而 LangChain,就是我们通往这一未来的钥匙之一。
2025-07-24 12:05:54
807
原创 DDD之背景和启动(1)
接下来主要结合实际的业务场景记录下学习DDD的整个过程,主要从战略、战术两个大层面进行介绍,并且通过问题驱动方法,方法驱动案例,案例反哺问题的思路进行介绍,欢迎私信交流。过去10年,软件行业以ToC(如:社交、电商、短视频、O2O)为主,跑出了阿里、腾讯、字节、美团、京东等巨头。实体经济占中国 GDP 的大部分,包括制造、能源、建筑、物流、农业、医疗等行业。:数据、平台垄断、未成年人保护等法律政策影响ToC业务扩张;:也推动了能源、建筑等行业的精细化管理系统建设。:加速了政企客户对数字化基础设施的需求;
2025-07-21 12:19:25
283
原创 SpringAI之helloworld入门篇(AI这么火,入个门吧)
本文由于使用免费的通义模型,但是SpringAI原生不支持通义模型,所以就需要做适配了,如果不想适配,那么可以选择使用SpringAI Alibaba(做了封装和适配)按照指示处配置即可,easy,然后配置到代码配置中,直接跑代码就可运行。代码都有了,接下来需要配置下api-key就可以直接和大模型对话了。如果你看到这样的信息,或者类似这样的信息,恭喜你入门了!一、创建应用(直接jdk17创建)三、配置API-KEY。
2025-07-10 22:37:00
259
原创 dubbo源码分析之oneway&twoway请求
dubbo作为一个微服务治理框架,在RPC场景有着丰富的解决方案,我们在使用的使用要根据自己的需求使用对应的功能,做到按需选型、合理配置,避免过度设计或功能冗余。PS:技术、架构、设计方面的问题欢迎多多交流,爱交朋友,私信看到就回复。
2025-07-08 20:44:20
538
原创 树的最大路径和
一、最大路径和1、题目2、题解class Solution { int maxSum = Integer.MIN_VALUE; public int maxPathSum(TreeNode root) { maxGain(root); return maxSum; } public int maxGain(TreeNode node) { if (node == null) { re
2021-10-31 20:09:11
271
原创 COLA之架构演变(一)
一、常用架构1、分层架构2、CQRS架构3、六边形架构4、洋葱圈架构二、COLA介绍COLA 是 Clean Object-Oriented and Layered Architecture的缩写,代表“整洁面向对象分层架构”。目前COLA已经发展到COLA4.0COLA分为两个部分,COLA架构和COLA组件。三、COLA演变1、COLA1.02、COLA2.02.0作了一个对于cola来说非常核心的改动,就是采用DIP的设计理念,这
2021-10-31 19:09:58
5216
原创 dubbo应用之filter异步化设计
https://blog.csdn.net/m0_37055174/article/details/100517538
2021-10-03 18:24:45
412
原创 sublime批处理任务
一、简单的demo1、先简单写个html并且保存2、编写任务脚本并保存3、选中任务脚本并且com+b执行浏览器打开页面hello world4、优化任务脚本可以选择为自动,然后在脚本中配置文件类型二、应用典型应用就是代码的add、push和查看,可以写成一个脚本一起执行,具体实现自己可以操作一个,本文在此忽略……...
2019-10-02 23:27:00
691
原创 动态拼接sql
一、首先尝试用sublime的列编辑,但是存在问题,是不能选择倒数第二列(中间的某一列),因为从前面或者后面依次添加的时候会出现如下问题,这样添加符号的时候就出现不能对齐的问题了二、针对上面的问题,采用了awk进行处理,真的很灵活、简单cat sqldata| awk 'BEGIN{a="insert into tmp_table (sale_id, phone) values ("}{...
2019-09-30 15:41:10
234
原创 springboot学习篇之启动过程
背景:约定大于配置、spi一、首先是找到主配置类启动二、扫描到自动装配注解三、划重点(import中selector的处理)三、到此已找到需要自动装配的配置类四、自动装配(RedisAutoConfiguration)配置完成,装入ioc容器...
2019-07-17 07:41:25
128
原创 技术方案-延时支付
一、定时任务缺点:1、耗性能2、耗资源3、延时二、delayqueue延时队列缺点:对集群化支持的很不好1、单机本地数据丢失解决:重启的时候重新加载数据库2、集群一台机器挂了解决:加字段记录ip,洗数据,重启加载 用zk解决三、mq的方案优点:1、分布式支持的非常好2、mq本身支持消息丢失的解决方案3、伸缩性(增加消费者)4、...
2019-06-05 21:32:41
353
原创 springboot学习篇之启动方式
一、springboot有3种启动方式1、右键直接运行main方法,这种也是最直接的2、通过maven进行运行可以输入命令mvn spring-boot:run 点击plugin,右键运行即可3、打jar包直接运行mvn install java -jar name-0.0.1-SNAPSHOT.jar二、springboot增加热部署功能 1、三种方式,本文只...
2019-05-22 20:34:48
601
原创 springboot学习篇之bean的实例化方式
一、第一种方案是最常用的@ComponentScan()二、第二种是本文主要介绍的继承ImportSelector类,实现selectImports方法1、为什么能够实例化bean这就需要了解和根据spring的源码了,spring在启动的过程中,会调用2、该方法用于什么场景应用场景很简单,就是个性化对对类进行实例化,比如在某种条件实例化A,在另外一种条件实例化...
2019-05-21 21:01:32
3061
原创 spring源码之MVC的ioc容器初始化
一、总体步骤1、定位找到配置文件2、加载解析配置文件3、注册bean注册到容器当中二、详细步骤1、入口DispatcherServlet对于web容器的规范,初始化servlet的时候会调用init()方法,所以会调用httpServletBean的init方法2、容器启动的入口,一键触发按钮refresh方法,具体调用的步骤不具体写出了...
2019-05-20 07:58:38
192
原创 分布式事务-本地消息表实现方案
一、背景用单下单的时候需要先锁库存,然后再生成订单,库存所在的库和订单是两个库,这里就涉及到了分布式事务的处理,下面说下两种解决方案吧二、方案1、定时任务+本地消息表这种方案还有一个优化点就是:可以去掉消息的定时任务,然后就是在生成订单的事务中如果失败,那么就再开启一个事务(事务中会强制走主库查询)查询下该订单是否存在,如果存在就正常进行流程,如果不存在那么就直接设置消息的...
2019-02-27 16:09:02
3927
原创 单链表逆转(递归和迭代的实现)
单链表逆转递归和迭代的实现,代码如下:public class LinkReverse { static class Node{ int data; Node next; public Node(int data, Node next) { this.data = data; this....
2019-02-26 17:13:02
1213
原创 售票程序
有两种场景:一、1000张票开10个窗口卖public class SoldTicket implements Runnable{ private Integer ticketCount = 1000; @Override public void run() { while (true) { synchronized (t...
2019-02-25 17:45:01
589
原创 全排列的递归实现
看了看别人的实现,只是自己手动写了一遍,然后就明白了public class Permutate { public static int total = 0; public static void swap(String[] str, int i, int j) { String temp = new String(); temp = ...
2019-02-25 15:11:10
175
原创 事务中分批插入db性能优化方案
一、背景:最近需求上线的时候发现一个问题,如果运营创建活动大批量导入数据的时候,就会出现通过事务操作的某一张表插入数据延迟非常严重,以至于出现比较奇怪的现象二、解决方案1、首先考虑采用事务中多线程进行处理,这样操作有几个问题:spring的声明式事务本身是不支持多线程的,如果要支持就需要采用手动事务了,另外还需要其它一些处理,参考(https://solomon523.iteye....
2019-02-13 20:59:06
474
原创 java深拷贝之简单实战
在做需求的时候需要做方法的调用迁移,于是就用到了深拷贝,需要把老方法的参数转换成新方法的参数,然后调用新的方法(这种场景用深拷贝最简单,省去了来回的转换)一、尝试了第三方的库,比如Java Deep Cloning Library,但是这种只能是同种类型的进行序列化和反序列化二、想到了cloneable,但是有两点不符合要求1、进行转换的参数model是第三方提供的,我不能自己定义,所...
2019-02-13 17:27:51
443
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人