自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(71)
  • 资源 (1)
  • 收藏
  • 关注

原创 Java 新纪元 — JDK 25 + Spring Boot 4 全栈实战(十):可观测性:Micrometer + OpenTelemetry 全链路实战

Service/*** 支付处理 — 手动创建嵌套 Span* 适合需要精细控制 Span 属性的场景*/// 风控校验// 执行扣款...throw e;span.end();框架自动采集的 JVM/HTTP 指标只是基线,真正的业务洞察来自自定义指标。一个 Observation,三份数据产出。特性Boot 3Boot 4API 统一门面Micrometer Observation(需手动桥接)Micrometer + OTel 原生整合。

2026-03-23 21:18:28 8

原创 Java 新纪元 (九):GraalVM 原生镜像集成实战 — 把 Spring Boot 编译成二进制

GraalVM Native Image 把 Java 从"一次编译,到处运行"推进到"一次编译,原生运行"。在 Spring Boot 4 的加持下,构建体验大幅改善,AOT 处理自动覆盖率超过 95%。核心要点回顾闭合世界假设是 Native Image 的核心——也是所有坑的根源,理解它就理解了 Native ImageBoot 4 一条命令构建,不再需要折腾复杂的 Maven profile启动 38ms、内存 48MB,Serverless 场景成本节省 78%

2026-03-23 21:17:50 103

原创 Java 新纪元(八)|响应式全家桶升级:WebFlux + R2DBC

Spring Boot 4 的响应式全家桶已经非常成熟,WebFlux 3.x 的函数式路由更优雅,R2DBC 1.1+ 的 API 更统一。响应式不是万能药——它适合 I/O 密集、流式处理、需要背压控制的场景虚拟线程降低了并发门槛——大部分场景下,同步代码 + 虚拟线程已经足够两者可以共存——同一个 Spring Boot 应用中按接口粒度选择并发模型团队经验是关键因素——不熟练的响应式代码比传统阻塞代码还慢实战金句:最好的架构不是用最酷的技术,而是让团队最舒服地写出高性能的代码。下一篇预告。

2026-03-23 21:16:56 7

原创 Spring Boot 自动配置 2.0 深度解析(七):从 spring.factories 到 @AutoConfiguration 的范式转移

摘要: Spring Boot 4 彻底重构自动配置机制,废弃 spring.factories,改用 @AutoConfiguration 注解与 META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports 文件注册。新机制优化了条件注解性能(如 @ConditionalOnMissingBean 的 O(1) 索引查找),新增 @ConditionalOnAvailableEndpoint 等特性,并支

2026-03-23 21:15:25 196

原创 Spring Boot 4 架构巨变解析(六):从「约定优于配置」到「编译期优先」

/ ============ Boot 3 的自动配置 ============@Bean// ============ Boot 4 的自动配置(AOT 优先) ============// Boot 4 引入 @AOTConditional 注解族,条件在编译期解析) {}// 自动配置类保留运行时降级能力@BeanBoot 4 的自动配置遵循“编译期优化,运行时降级”原则:AOT 构建时先尝试静态解析所有条件,只有当静态解析失败时才在运行时回退到传统条件装配。

2026-03-23 21:14:40 111

原创 Java 新纪元 — JDK 25 + Spring Boot 4 全栈实战(五):FFM API,告别JNI在Spring Boot中直连推荐引擎

模型推理用C/C++写,业务逻辑用Java写。这两个世界之间有一道沟——JNI(Java Native Interface)。一个最简单的场景:你有一个C语言写的推荐评分函数,给一个用户ID和一个商品ID,返回一个0-1之间的推荐分数。// native声明 — 好的,这行很简单// 这里才是你的业务逻辑// 你还需要写 calculate_score 的实现、模型加载逻辑等...这还只是一个参数的简单函数。字符串(商品名称、模型路径)→数组(用户特征向量、商品特征向量)→。

2026-03-21 08:57:08 142

原创 Java 新纪元 — JDK 25 + Spring Boot 4 全栈实战(四):结构化并发 & 作用域值,订单聚合查询的新写法

JDK 25的FFM(Foreign Function & Memory)API让你直接调用C函数,零JNI代码,内存安全可控。只是取消了虚拟线程中的等待,如果下游服务本身没有超时设置,TCP连接仍然会占用。实际业务中,优惠券信息和物流信息即使查不到,订单详情页也能展示(只是少显示一个模块)。,你只能知道"有一个任务失败了",但不知道是哪一个。任务一旦提交,就脱离了创建者的控制范围——这是非结构化并发的本质缺陷。,就是50万个任务被提交到线程池。3秒超时),线程池会被大量等待中的任务占满,影响其他业务。

2026-03-21 08:56:25 62

原创 Java 新纪元 — JDK 25 + Spring Boot 4 全栈实战(三):虚拟线程2.0,电商秒杀场景下的并发革命

块或调用native方法,该虚拟线程会"钉住"载体线程,导致载体线程无法服务于其他虚拟线程。:它是一段轻量级的"执行上下文",包含栈帧、局部变量和调度状态。不执行IO时,栈帧被"卸载"到堆上,不占用载体线程资源。瓶颈不在线程,而在下游。接下来优化的方向是Redis集群和MySQL读写分离,而不是调线程池参数。秒杀服务中,校验、查库存、查用户信息可以三路并行。是JDK 25给出的最终答案——代码更短、更安全、更快。的每个请求处理都自动运行在虚拟线程中,不需要手动创建。早期版本中,如果在虚拟线程中执行。

2026-03-21 08:55:41 40

原创 Java 新纪元 — JDK 25 + Spring Boot 4 全栈实战(二):Valhalla落地,值类型如何让电商DTO内存占用暴跌

值类型(Value Types)是JDK 25引入的一种新的类型声明方式,关键字是value// 值类型 record — 无对象头,无引用间接层int stock,) {}特性普通引用类型值类型(value record)对象头有(12-16字节)无传递方式引用传递值传递(扁平拷贝)==比较引用比较内容比较(自动重写)可为null是否(值类型本身不可为null)身份(identity)有(无(无身份概念)值类型没有identity。两个内容相同的值类型就是同一个值,==

2026-03-20 21:58:53 413

原创 Java 新纪元 — JDK 25 + Spring Boot 4 全栈实战(一):你的Java该升级了

如果你过去三年还在用JDK 17 + Spring Boot 3,你并不孤单——这是目前Java生态的主流配置。1. Valhalla项目正式落地值类型(Value Types)从概念到JEP草案走了近10年,JDK 25终于将其带入正式特性。// JDK 25 值类型 record — 零对象头开销// 对比传统 record(对象头占16字节)一个电商系统中,订单、商品、SKU这类纯数据载体成千上万,值类型直接砍掉对象头(16字节),内存占用下降30%-60%。这不是微优化,是架构级收益。

2026-03-20 21:57:16 189

原创 真实项目复盘:我用 Java + AI 重构了公司的智能客服系统

你可能要问:别人搞 AI 不都是用 Python 吗,为什么非要用 Java?因为我们团队一共 12 个人,全是 Java 开发者。更关键的是,我们公司有一套已经跑了两年的 Spring Cloud 微服务架构——订单服务、物流服务、用户服务、支付服务全部在线上跑。智能客服要查订单、查物流、处理退款,必须和这些系统打通。技术选型不是我一个人的喜好决定的,是现实逼出来的。但回头看,这个"被迫"的选择反而是对的。

2026-03-20 21:45:56 232

原创 从开发到生产:AI 应用的 Docker 部署、性能优化与监控实战

维度核心动作效果容器化部署多阶段构建 Dockerfile + docker-compose 编排环境一致、一键部署、自动恢复性能优化双层缓存 + 模型分级 + 流式输出 + 连接池响应从秒级降到毫秒级,Token 成本降 50%监控可观测Token 指标 + 延迟分布 + 熔断器 + Grafana 面板全链路可观测,异常秒级感知安全合规注入防护 + 数据脱敏 + 审计日志 + 限流熔断满足企业级安全合规要求这四件事做完,你的 AI 应用才算真正具备了上生产的能力。

2026-03-20 21:44:49 281

原创 AI Agent 实战:用 LangChain4j 构建能自动干活的智能体

先讲个真实的故事。去年我帮一个电商团队做客服系统。第一版用 LLM + RAG,效果不错——用户问"退换货政策是什么",它能精准回答。老板很高兴,甩过来一个新需求:这就是问题所在。前几篇我们构建的 AI 应用本质上是一个知识问答系统——用户提问,AI 从文档里找答案。但在真实业务中,用户需要的不是"回答",而是"动作"。查订单要调订单系统,查物流要对接快递 API,退款要操作支付网关。这些需要执行,不只是回答。这就是从 ChatBot 到 Agent 的范式跃迁:一句话定义 Agent:LLM 负责理解"用

2026-03-20 21:43:29 252

原创 RAG 实战:用 Spring AI + pgvector 搭建企业知识库问答系统

先讲个真实的故事。去年我帮一个电商团队做客服系统。第一版用 LLM + RAG,效果不错——用户问"退换货政策是什么",它能精准回答。老板很高兴,甩过来一个新需求:这就是问题所在。前几篇我们构建的 AI 应用本质上是一个知识问答系统——用户提问,AI 从文档里找答案。但在真实业务中,用户需要的不是"回答",而是"动作"。查订单要调订单系统,查物流要对接快递 API,退款要操作支付网关。这些需要执行,不只是回答。这就是从 ChatBot 到 Agent 的范式跃迁:一句话定义 Agent:LLM 负责理解"用

2026-03-19 20:27:45 406

原创 Spring AI 实战:5 分钟搭建你的第一个 AI 应用(含完整代码)

能力关键 API适用场景基础对话简单问答、文本生成流式输出实时打字机效果@Bean模型需要调用外部工具结构化输出需要返回 Java 对象多轮对话聊天机器人场景Spring AI 让 Java 开发者可以用最熟悉的方式(Spring Boot + Maven)进入 AI 应用开发领域,不用学新语言,不用换框架,这是它最大的优势。但目前为止,我们的 AI 应用只能回答"它脑子里已有的知识"。如果让它读懂你自己的技术文档、公司内部知识库呢?这就是下一篇文章的主题——RAG(检索增强生成)实战。

2026-03-19 20:26:55 356

原创 Python 不是敌人:Java 开发者 7 天 Python 速成手册(附对比 cheat sheet)

所以。

2026-03-19 20:25:47 237

原创 别被高数吓退:Java 开发者需要的 AI 数学知识其实这么少

预计阅读时间:12 分钟 | 字数:约 3800 字适合人群:有 Java 开发经验,AI 领域零基础的工程师。

2026-03-19 20:25:04 256

原创 Java 开发者零基础入门 AI 完整路线图

4 个月后,你会回过头来看这篇文章,发现当初觉得遥不可及的 AI,其实并没有那么难。别纠结数学— 先动手,遇到不懂的再补别排斥 Python— 它是工具,不是敌人;你的主场还是 Java别光看不练— 每周至少跑一个 Demo,学了不用等于没学AI 不会替代 Java 开发者。但会用 AI 的 Java 开发者,会替代不会用 AI 的 Java 开发者。现在,打开你的 IDE,开始吧。

2026-03-19 10:49:02 195

原创 35 岁程序员如何躲避失业?这 5 条护城河让我从“被优化“到“被争抢“

35岁危机的本质不是年龄,而是性价比问题。本文基于10年互联网经验,提出程序员建立护城河的三大维度:技术深度、业务理解和行业影响力,并给出5条可行出路:深耕技术领域、转型管理、降维打击到创业公司、发展副业和提前规划职业路径。作者强调,护城河=不可替代性×稀缺性,建议程序员从28岁起分阶段规划,通过2000+小时的刻意练习建立核心竞争力。文章包含多个真实案例和具体行动指南,旨在帮助程序员突破35岁职业瓶颈。

2026-03-17 21:20:45 198

原创 Ubuntu 24.04.3 LTS 安装 OpenClaw 图文版

OpenClow安装指南

2026-03-08 19:25:36 1351

原创 Spring Boot 4.0.3 深度解析:JDK 25 加持下的云原生与高并发革命

最让我心动的是那个“智能配置”特性,以前那些繁琐的yml配置现在都能自动推断了!熬夜肝完官方文档,给各位程序员姐妹/兄弟划重点啦!这次升级简直是王炸,感觉我的代码又要起飞了✨。#SpringBoot #Java开发 #编程干货 #技术分享 #后端开发。✔️ 测试支持大升级,@SpringBootTest现在智能到离谱。✔️ 全新的声明式HTTP客户端,写接口调用像写本地方法一样丝滑。✔️ GraalVM原生镜像优化到新高度,启动秒开不是梦。✨Spring Boot 4新特性盘点,开发效率翻倍!

2026-03-01 20:56:23 639

原创 【运维系列】【ubuntu22.04】安装GitLab

使用用户名root,以及从 /etc/gitlab/initial_root_password 文件中获取的密码进行登录。然后检查下各个服务的状态,均为run代表没有问题。如果执行出现这个问题。

2025-06-30 16:02:34 575

原创 【Dify系列】【Dify1.4.2 升级到Dify1.5.0】

下载最新版本代码(如从。

2025-06-30 12:35:27 696

原创 【云原生】-【3】部署Kubernetes集群(v1.32.6)

本文将详细介绍如何在 Ubuntu 22.04 LTS 上部署 Kubernetes 1.32.6集群。我们将使用 kubeadm 工具来初始化集群,并配置一个 Master 节点和3个 Node 节点。此外,我们还将安装 Calico 作为 CNI 插件,并部署一个简单的 ingress-Nginx 应用来测试集群的功能。

2025-06-27 15:22:04 1030

原创 【运维系列】Plane 开源项目安装和配置指南

Plane是一个用现代前端技术栈(Next.js + TailwindCSS)开发的开源项目管理平台,核心理念是Bring Structure to Chaos" —— 给混乱的项目管理带来结构感。

2025-06-24 17:01:46 569

原创 【Dify 案例】【MCP实战】【三】【超级美食家】

接上次的超级助理,我们这一期给出一个超级美食家首先:我的MCP要申请一个key插件里面需要配置。

2025-06-21 19:07:30 221

原创 【Dify 案例】【MCP实战】【二】【超级助理】

我们创建一个工作流。你是一个超级助理,能够根据输入的指令,进行推理和自主调用工具,完成并输出结果。注意,需要判断是否调用高德MCP来获取对应工具协助你完成任务。

2025-06-21 19:01:12 146

原创 【Dify 案例】【MCP实战】【一】【前置配置】

MCP(Model Context Protocol,模型上下文协议) ,2024年11月底,由Anthropic 推出的一种开放标准。旨在为大语言模型(LLM)提供统一的、标准化方式与外部数据源和工具之间进行通信。MCP 作为一种标准化协议,极大地简化了大语言模型与外部世界的交互方式,使开发者能够以统一的方式为 AI 应用添加各种能力。官方文档:https://modelcontextprotocol.io/introduction首先我们需要在dify安装三个插件。

2025-06-20 16:40:26 367

原创 【Dify 案例】【自然语言转SQL案例】【五】【实战二】【财务管理查询商品信息数据】

援引实战一,进行数据业务处理化。

2025-06-20 15:34:28 460

原创 【Dify 案例】【自然语言转SQL案例】【四】【实战一】【商品统计分析】

引入了上一篇文章的工具。

2025-06-19 17:39:00 251

原创 【Dify 案例】【自然语言转SQL案例】【三】【工具】【自然语言转SQL】

我们需要提供一个把自然输入的语言转为SQL的工具。

2025-06-19 17:25:42 292

原创 【Dify 案例】【自然语言转SQL案例】【二】【知识库新增】

我们可以把数据库的表结构说明信息导入到知识库中。

2025-06-18 12:56:13 218

原创 【Dify 案例】【自然语言转SQL案例】【一】【数据准备】

我们通过LLM来生成一些需要的表结构和对应的测试数据。

2025-06-18 12:22:29 173

原创 【Dify 案例】【Excel可视化】【一】【Echarts展示】

此是简单的案例展示。

2025-06-17 16:46:33 676

原创 【Dify 案例】【语音案例】【二】【实战】【有声小说的智能体】

结合上一张的实战案例,提供一个智能体更好的使用。

2025-06-17 15:40:50 332

原创 【Dify 案例】【语音案例】【一】【实战】【有声小说的语音案例】

接下来我们看看如何通过Dify来实现一个自动语音播放小说内容的智能体,这里实现的步骤有两个。

2025-06-17 15:21:52 331

原创 【Dify 案例】【图片案例】【三】【文生图】【小红书实战案例】

根据前两章的学习,我们迎来的实战,一起动手实战自己的小红书项目吧。

2025-06-16 18:42:07 687

原创 【Dify 案例】【图片案例】【二】【文生图】【Agent】

【代码】【Dify 案例】【图片案例】【二】【文生图】【Agent】

2025-06-16 14:54:33 276

原创 【Dify 案例】【图片案例】【一】【文生图】【模型选择】【硅基流动】

参考文章。

2025-06-16 12:33:00 252

原创 【Dify系列】【Dify 核心功能】【工具篇】【二】【自定义工具】

新增一个变量content ,作为输入的内容。

2025-06-16 10:46:26 1968

空空如也

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

TA关注的人

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