源码

源码

Tag

当前位置:首页 > 源码 >
  • Spring源码中Lifecycle Bean是如何工作的?

    Spring源码中Lifecycle Bean是如何工作的?

    前言 在前面文章里我们已经熟悉了 Spring 容器普通 Bean 的生命周期:单例 Bean 的初始化、属性注入、afterPropertiesSet 等。 但在实际业务中,你可能遇到以下痛点: 应用启动后想立即开启某些服务 容器关闭前要优雅停止正在处理的请求 不知道哪些组件会在容器刷新完成后自动启动。哪些需要手动控制 这些场景正是 Spring 容器级生命周期接口——Lifecycle

    查看更多 2026-08-05

  • JVM的异常处理机制是如何在源码层面实现的?

    JVM的异常处理机制是如何在源码层面实现的?

    JVM异常处理机制源码级剖析 从字节码层面来看,athrow指令 throw 语句在编译后对应一条JVM字节码指令athrow 。从其执行过程来看, 从操作数栈弹出一个对象引用。 如果该引用为null JVM会自动创建一个NullPointerException 并抛出——这就是为什么throw null; 会得到NPE而不是未定义行为。 清空当前帧的操作数栈,只保留异常引用。

    查看更多 2026-08-03

  • Spring事件传播原理是怎样的?

    Spring事件传播原理是怎样的?

    一、为什么需要事件机制 痛点: 业务代码高度耦合。新增副作用需要改动主要业务类,副作用失败会影响主流程,单元测试必须 mock 所有副作用依赖。 先看一个没有事件的代码: @Service public class OrderService { @Autowired private SmsService smsService;@Autowired private PointService

    查看更多 2026-08-03

  • Pi源码与Codex、Claude Code有何差异?

    Pi源码与Codex、Claude Code有何差异?

    从 2020 年到 2024 年,编码 Agent 爆发了三款代表性项目:OpenAI 用 Rust 写的 Codex CLI、Anthropic 的 Claude Code。还有 earendil‑works 用纯 TypeScript 写的 Pi Agent。这三款都在终端跑一个能读代码、写文件、输入命令的 AI Agent,但它们在底层架构上的取舍截然不同。 使用者最常遇到的痛点 模型锁定

    查看更多 2026-08-03

  • Dify RAG Pipeline 源码拆解,工业级RAG有哪些设计考量?

    Dify RAG Pipeline 源码拆解,工业级RAG有哪些设计考量?

    Dify RAG Pipeline 源码拆解:工业级 RAG 的 个设计取舍 架构概览 很多人知道 RAG 的流程是 chunk → embed → retrieve → rerank。但真正打开一个万星项目的源码,才发现每一步都有值得琢磨的取舍。 Dify 的 RAG 分为两条独立链路。由不同的上层调用方编排: 离线索引 提取纯文本 → 清洗 → 递归分片 → 索引处理→ embedding

    查看更多 2026-08-02

  • 如何让生产级Agent实现自进化?

    如何让生产级Agent实现自进化?

    最近关于 Agent 自进化的讨论越来越多。今天我们来看论文「MOSS: Self-Evolution through Source-Level Rewriting in Autonomous Agent Systems」。论文中提出了一个名为 MOSS 的源码级自进化程序,面向生产级 Agent 基座。尝试把 Agent 的自我改进范围从 prompt、skill、memory 等文本层

    查看更多 2026-08-02

  • Go Web框架从标准库到Gin如何源码解析?

    Go Web框架从标准库到Gin如何源码解析?

    再看开始之前,API 测试工具推荐 这篇文章涉及大量 HTTP 请求示例。建议配合 API 客户端工具边看边试。 推荐使用 Bruno —— 一款开源的 API 客户端。 相比 Postman,Bruno 将请求集合保存为本地纯文这篇文章件。天然支持 Git 版本管理,无需注册账号就可以使用。再看主要特点, 本地优先 请求数据保存在本地文件程序,不上传到云端 Git 友好 请求配置是纯文本

    查看更多 2026-08-01

  • Retrofit源码是如何实现的?

    Retrofit源码是如何实现的?

    在 Android 开发中。面对网络请求需求时大多数人会直接选用 OkHttp,却忽视了更易用的封装层——Retrofit。很多新人在阅读 Retrofit 源码时会遇到以下痛点: 源码体量大。结构复杂 ——不知道从哪个入口开始,看得眼花缭乱。 动态代理和注解解析难以捉摸 ——看不清楚接口方法到底是怎么被转化为网络请求的。 今天聊聊围绕两个主要方向帮助你突破这些痛点: Retrofit 主流程

    查看更多 2026-08-01

  • Spring AI的chatClient装配流程源码是如何实现的?

    Spring AI的chatClient装配流程源码是如何实现的?

    一:什么是Spring AI的ChatClient配置流程 这里面我们调用chatclient就指定了advisor。prompt,等属性,最终调用call方法获取请求,通过chatResponse返回一次AI调用的具体返回内容

    查看更多 2026-07-23

  • ElementPlus源码中,packages目录是做什么的?

    ElementPlus源码中,packages目录是做什么的?

    详细说说 Element Plus 源码中 packages 目录下的各个子目录及其作用。Element Plus 采用 monorepo 管理。每个子包都有明确的职责,理解这些目录对改造或借鉴其结构很关键。 packages/ ├── components/ # 所有 UI 组件 ├── me-chalk/ # 样式程序 ├── hooks/ # 可复用的组合式 API ├──

    查看更多 2026-07-23

提交需求或反馈

Demand feedback