自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(108)
  • 问答 (4)
  • 收藏
  • 关注

原创 Java:JavaAgent技术(java.instrument和java.attach)

本文详细介绍了Java Instrumentation机制,主要包括java.instrument和java.attach模块的核心架构、工作机制以及基于ASM的字节码操作实战。核心组件包括Agent代理、ClassFileTransformer转换器和Instrumentation实例。文章阐述了三种Agent启动方式:命令行启动、动态附加和可执行JAR内嵌,并对比了不同拦截时机(类加载前和类重定义)的能力边界。最后介绍了ASM框架的核心概念(ClassReader、ClassVisitor等)及其在字节

2025-12-23 15:55:27 312

原创 All In AI——DSPy框架,让智能体开发像模型训练一样

DSPy框架提供了一套简洁的API来构建AI系统,其开发流程分为编程、评估和优化三个阶段。核心思想是通过代码而非字符串来定义任务,使用签名(Signature)声明模块的输入输出行为,支持多种数据类型和自定义类型。内置模块如Predict和ChainOfThought可组合使用,通过优化器自动生成高质量提示或微调模型。该方法比传统提示工程更模块化、适应性强,能有效提升AI系统的开发效率和质量。

2025-12-13 14:35:48 957

原创 JVM 字节码指令活用手册(基于 Java 17 SE 规范)

JVM 字节码指令手册摘要 本手册基于Java SE 17规范,系统化讲解JVM字节码指令,适用于开发者、学习者及底层技术研究者。主要内容包括: 核心模型:JVM执行基于局部变量表、操作数栈和常量池的三元数据流模型 指令分类解析: 常量加载指令(如iconst、ldc等) 局部变量存取指令(如iload、astore等) 数组操作指令(如iaload、iastore等) 实用特性: 指令格式标准化说明(操作数、栈行为等) 典型应用场景与异常处理 优化设计(如单字节指令优化) 手册采用"从代码到字节

2025-12-08 10:51:12 771

原创 ASM七步曲之一:Core API——类

文章摘要: 本文详细介绍了Java编译后类的结构及其与源代码的区别。编译后的类保留了源代码的大部分结构信息,包括类修饰符、字段、方法和注解等,但不包含注释、包声明和导入节。主要差异体现在:1) 每个编译类对应一个类文件;2) 使用常量池存储常量;3) 类型表示方式不同,包括内部名称、类型描述符和方法描述符。文章还介绍了ASM框架中的ClassVisitor接口,该接口提供了一系列访问类结构的方法,并规定了这些方法的调用顺序。这些知识对于理解Java字节码和进行字节码操作具有重要意义。

2025-12-08 09:34:55 1036

原创 SSE字符串以及Flux<String>中文乱码问题

摘要:Spring Boot 3.2.5使用SSE发送中文字符串时出现乱码问题,原因是StringHttpMessageConverter默认编码非UTF-8。解决方案是继承WebMvcConfigurationSupport并重写extendMessageConverters方法,将StringHttpMessageConverter替换为UTF-8编码版本。但该方案在.http文件请求中仍存在乱码问题,尝试转换为ISO编码或使用WebMvcConfigurer均无效,必须添加@EnableWebMvc注

2025-12-03 15:15:04 238

原创 All In AI之三:一文构建Python核心语法体系

本文从执行模型和数据模型两个维度系统介绍了Python的核心机制。执行模型部分详细解析了代码块结构、名称绑定规则、命名空间作用域(LEGB原则)以及local/nonlocal/global关键字的用法。数据模型部分深入剖析了对象的三大特性(标识号、类型、值),阐述了基类object与元类type的关系,并重点介绍了抽象基类体系及其在数字类型、容器类型中的应用。全文基于官方文档,以清晰的逻辑和结构化的方式呈现Python语言设计精髓,为开发者提供全面而深入的语言底层认知框架。

2025-09-23 18:58:47 3350

原创 All in AI之二:一文构建机器学习数学体系

本文介绍了机器学习所需的数学基础,重点涵盖数与量、几何、函数和线性代数四大模块。数与量区分了标量与向量,强调向量具有大小和方向的双重属性。几何通过坐标系将抽象数学量可视化,阐述了单位向量和线性组合的几何意义。函数部分解析了标量函数与向量函数的区别及其空间表达,包括单变量/多变量函数和参数曲线的动态变化。线性代数则深入探讨向量空间、线性组合、线性相关性、基和维度的核心概念,并引入范数作为向量大小的量化工具。全文以直观几何解释配合严谨数学定义,为读者构建了机器学习所需的实用数学框架。

2025-09-09 18:18:04 1060

原创 All in AI之一:AI基本概念

本文介绍了AI模型的核心概念与应用技术,涵盖五大关键方向:1)AI模型的分类与功能,包括文本、图像、音频等输入输出形式;2)提示词工程的艺术性与技术性,强调模板化设计对输出质量的影响;3)嵌入技术的向量化表示,说明其在语义相似度计算中的作用;4)Token的基础计量单位特性,揭示其与费用计算和上下文窗口的关联;5)数据整合的三大技术路径(微调、提示词填充、工具调用),重点解析RAG技术通过ETL管道实现外部数据融合的机制。文章系统性地呈现了AI应用开发中的关键技术要素,为开发者提供了从理论到实践的完整认知框

2025-08-05 09:59:34 1075

原创 SpringAI:提示词工程

本文介绍了如何使用Spring AI实现高效提示工程技术,重点讲解了LLM配置和提示词技术实现。主要内容包括:1)LLM厂商选择和配置(如Anthropic Claude模型),通过ChatOptions调整temperature、maxTokens等参数控制输出特性;2)支持结构化输出映射到Java对象;3)零样本提示技术的实现示例,展示了电影评论情感分类案例。文章提供了完整的代码示例,帮助开发者将提示工程理论转化为可运行的Java实现。

2025-07-28 13:11:40 1151

原创 SpringAI:构建高效的智能代理系统

原文连接“Agent” 可以有多种定义。一些客户将 Agent 定义为完全自主的系统,能够独立运行较长时间,使用多种工具完成复杂任务。另一些客户则用该术语描述遵循预定义工作流程的指令式实现。工作流(Workflows):这类系统通过预定义的代码路径对 LLM 和工具进行编排(例如:指令式系统)Agent(智能体):这类系统由 LLM 动态驱动自身的流程和工具调用下面,我们将详细探讨这两类 agentic 系统。在 LLM 领域取得成功,不在于构建最复杂的系统,而在于构建最适合你需求的系统。

2025-07-28 11:31:14 1140

原创 站在 Java 程序员的角度如何学习和使用 AI?从 MVC 到智能体,范式变了!

本文探讨了Java开发者如何适应AI技术变革,分析了从传统MVC开发向AI Agent模式的范式转变。文章指出,LLM(大语言模型)作为预测性无状态系统存在输入限制、缺乏记忆等固有缺陷,而AI智能体通过三大核心技术解决了这些问题: Prompt工程 - 控制模型行为 RAG技术 - 动态注入外部知识(结合语义检索与关键词检索) MCP架构 - 赋予模型工具调用能力(API/DB/代码执行) 文章还展望了AI应用的未来方向:多模态输入(图像/语音/视频处理)和多智能体协作(任务分解与角色分工)。这种转变本质上

2025-07-03 13:30:08 1113

原创 分布式系统全链路监控之一:分布式全链路监控基础概念和OpenTelemetry

OpenTelemetry(OTel)是一个开源、厂商无关的可观测性框架,用于采集和导出追踪、指标和日志等遥测数据。它支持分布式系统监控,通过链路追踪(Traces)、指标(Metrics)和日志(Logs)等信号提供系统可观测性。OTel的核心概念包括上下文传播、信号关联以及结构化日志处理,帮助开发者理解系统行为并排查问题。其收集器(Collector)可统一处理多种数据源,自动关联日志与追踪信息,推荐使用结构化日志以提升分析效率。OTel已成为行业标准,被广泛集成于各类应用中。

2025-06-16 11:58:50 1482

原创 分布式系统全链路监控之二:Spring Actuator

Spring Boot Actuator 提供生产级监控和管理功能,通过HTTP或JMX接口实现。主要功能包括健康检查、指标收集和审计日志等。通过添加spring-boot-starter-actuator依赖即可启用。Actuator提供多种内置端点,如beans、env、metrics等,用于监控应用状态。端点访问权限可通过配置管理,默认仅开放health端点。敏感信息会自动脱敏处理,端点响应可缓存优化性能。还支持自定义端点扩展功能,满足特定监控需求。详情可参考Spring Boot官方文档。

2025-06-16 09:32:02 1144

原创 Java 黑科技:理解字节码和动态扩展,秒懂核心内幕

Java 黑科技:理解字节码和动态扩展,秒懂核心内幕

2025-06-13 16:45:50 653

翻译 Spring核心技术——Ioc容器

本文翻译自Spring官方文档,详情请看Spring官网。

2025-02-09 17:39:22 321

原创 从操作系统到Java一文彻底搞懂Java并发和异步编程

在Java中,当我们启动`main()`函数时其实就是启动了一个JVM 进程,而 `main()` 函数所在的线程就是这个进程中的一个线程,也称主线程。Java线程如何实现并不受JVM规范的约束,它与具体的虚拟机实现相关。以HotSpot为例,它的每一个Java线程都是直接映射到一个操作系统原生线程来实现的。目前使用的两种主要线程库是:POSIX Pthreads、Windows API。Pthreads作为POSIX标准的扩展,可以提供用户级或内核级的库。Windows线程库是用于Windows操作系统的

2024-12-19 12:25:38 748

原创 Redis Stack十部曲之五:管理Redis

Redis 的安全模型依赖于可信的客户端和环境。其设计初衷是使 Redis 只被可信客户端访问,通常不应该直接暴露 Redis 实例到互联网或不受信任的环境中

2024-10-06 19:19:12 1670

原创 Redis Stack十部曲之四:与Redis数据之间的交互

你可以使用 Redis Stack 作为一个强大的搜索和查询引擎。它允许你创建索引,并对结构化数据进行高效的查询,还可以对非结构化数据进行基于文本和向量的搜索。

2024-10-06 13:56:06 1361

原创 RedisStack十部曲之二:Redis的核心概念

RedisStack十部曲之二:Redis的核心概念

2024-09-03 20:55:35 1394

原创 解决生产问题的万能接口(Java编译器API的使用)

解决生产问题的万能接口(Java编译器API的使用)

2024-06-12 01:17:36 932

原创 MySQL十部曲之九:MySQL优化理论

在学习优化理论之前,应该先明白:下文提到的所有优化方法是指MySQL优化器在特定条件下对SQL的的优化,我们要做的仅仅是在编写SQL时尽量满足这些特定条件而尽量多的触发MySQL优化器对SQL的优化。此外,MySQL版本的差异和MySQL的不断发展都会导致优化方法和触发条件的变化,本文基于MySQL8以及InnoDB进行讨论。

2024-05-30 09:24:47 1791

原创 Java Bean参数校验指南

Java参数校验

2024-04-10 10:12:56 1007

原创 Redis十部曲之一:理解Redis中的数据类型

Redis的字符串存储字节序列,包括文本、序列化对象和二进制数组。因此,字符串是您可以与Redis键关联的最简单类型的值。它们通常用于缓存,但它们还支持额外的功能,使您能够实现计数器并执行位操作。

2024-04-03 11:08:16 1549 1

原创 操作系统——进程与线程

现代操作系统允许多个程序并发执行,为了更好地描述和控制程序的并发执行,从而引入了进程的概念。程序和进程的区别如下:- 程序:是静态的,是一个存放在磁盘里的可执行文件,是一个指令的集合。- 进程:是动态的,是程序的一次执行过程

2024-02-17 11:20:17 1125

原创 MySQL十部曲之八:InnoDB事务模型及其操作语句

InnoDB事务模型及其操作语句

2024-02-03 05:12:58 1004

原创 MySQL十部曲之七:InnoDB索引及其优化措施

InnoDB索引及其优化措施

2024-02-01 00:25:13 1302

原创 MySQL十部曲之六:数据操作语句(DML)

MySQL十部曲之六:数据操作语句(DML)

2024-01-28 23:01:14 1313 1

原创 MySQL十部曲之一:MySQL概述及手册说明

MySQL十部曲之一:MySQL概述及手册说明

2024-01-26 21:09:00 1059

原创 MySQL十部曲之三:字符集和排序规则

MySQL十部曲之三:字符集和排序规则

2024-01-26 21:04:22 1684

原创 MySQL十部曲之四:MySQL中的数据类型

MySQL十部曲之四:MySQL中的数据类型

2024-01-26 20:33:57 1515

原创 Docker五部曲之五:通过Docker和GitHub Action搭建个人CICD项目

通过Docker和GitHub Action搭建个人CICD项目

2024-01-18 17:52:32 2150 3

原创 Docker五部曲之四:Docker Compose

Docker Compose

2024-01-14 16:40:25 1957 1

原创 Docker五部曲之三:镜像构建

镜像构建

2024-01-12 13:21:47 2052

原创 Docker五部曲之二:Docker引擎

Docker引擎

2024-01-12 13:20:44 1316

原创 Docker五部曲之一:容器术语介绍

容器术语介绍

2024-01-12 13:16:31 1650 1

原创 C语言实现关键字匹配算法(复制即用)

一份C源代码存储在一个文本文件中,请统计该文件中关键字出现的频度,并按此频度对关键字进行排序。

2023-12-28 15:02:48 1235

原创 C语言实现十进制二进制小数整数之间的转换(复制即用)

实现十进制二进制小数整数之间的转换

2023-12-28 14:55:33 697

原创 C语言数字金字塔实训

C语言数字金字塔实训

2023-12-27 13:18:41 830

原创 C语言报文哈夫曼编码系统

C语言报文哈夫曼编码系统

2023-12-27 13:06:51 633 1

原创 C语言学生管理系统(全部代码,复制即用)

C语言学生管理系统

2023-12-27 12:58:21 823

空空如也

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

TA关注的人

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