自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java强化学习知识点梳理

/ TODO。

2023-02-22 16:57:34 513

原创 【大模型应用开发】记忆

借鉴人类记忆系统的设计,我们可以理解为什么智能体也需要类似的记忆能力。人类智能的一个重要特征就是能够记住过去的经历,从中学习,并将这些经验应用到新的情况中。对于基于LLM的智能体而言,通常面临局限:对话状态的遗忘。人类记忆是一个多层级的认知系统,它不仅能存储信息,还能根据重要性、时间和上下文对信息进行分类和整理。认知心理学为理解记忆的结构和过程提供了经典的理论框架,如下图所示。则负责从用户提供的知识库中检索相关信息作为上下文,并可将重要的检索结果自动存储到记忆系统中。1.参考 hello-agents。

2026-04-03 16:37:53 387

原创 云服务器部署大模型

千问2.5-14B-Instruct。

2026-04-02 23:01:59 134

原创 【Claude Code】入门

【代码】【Claude Code】入门。

2026-03-29 21:48:08 387

原创 【PyTorch】2.0 入门学习

PyTorch是一个用于机器学习和深度学习的开源深度学习框架,由Facebook于2016年发布,其主要实现了自动微分功能,并引入动态计算图使模型建立更加灵活。Pytorch可分为前后端两个部分,前端是与用户直接交互的python API,后端是框架内部实现的部分,包括Autograd,它是一个自动微分引擎。

2026-03-17 22:56:27 146

原创 【FastAPI】入门(一)

FastAPI 是一个用于构建 API 的现代、快速(高性能)的 Web 框架,使用 Python 并基于标准的 Python 类型提示。快速:极高性能,可与 NodeJS 和 Go 并肩(归功于 Starlette 和 Pydantic)。最快的 Python 框架之一。高效编码:功能开发速度提升约 200% ~ 300%。更少 bug:人为(开发者)错误减少约 40%。直观:极佳的编辑器支持。处处皆可自动补全。更少的调试时间。易用:为易用和易学而设计。更少的文档阅读时间。

2026-03-15 23:03:48 269

原创 【提示词工程】Prompt实战项目

【代码】【提示词工程】Prompt实战项目。

2026-03-10 08:23:16 113

原创 【提示词工程】提示词Prompt的原理和优化

跟大模型说的每一句话都是Prompt,大模型就是在续写你给它的Prompt。提示(Prompt)是用来引导模型输出特定回答或者进行特定任务的一组词语。

2026-03-08 15:11:26 141

原创 【场景题】如何防止重复下单

普通的下单流程,首先会由用户发起一个下单操作,然后会由订单服务去保存一条订单信息,此时订单的状态是【未支付】,然后再由用户去确认订单。由支付服务把当前这条订单修改为【待支付】,然后再跳转到支付界面,接着由用户去选择对应的支付方式,来进行钱包支付。支付完成之后呢,由支付平台进行回调,回调到支付服务,再去调用订单服务,修改状态为【已支付】。当网络出现了阻塞用户不断点击下单按钮,出现了重复下单,应该如何去防止呢?核心点:token 必须“校验 + 删除”原子执行 否则会并发通过。存在则直接返回已有订单。

2026-02-26 22:36:48 1094

原创 Docker简单服务迁移

当前部署的服务是跑在Docker下的简单服务,目前需要迁移到另一台服务器上,这里做一个简单的迁移方法记录。首先将我们已经运行的服务(容器)保存成一个新的镜像,并打上版本号。

2026-01-28 20:38:16 314

原创 【All in RAG】检索增强生成 (RAG) 技术全栈指南(一)

RAG技术(检索增强生成)是大模型应用开发中必用技术之一,本文按照开源项目All in RAG 的目录进行学。

2026-01-13 15:23:16 287

原创 【场景题】为什么单表行数超过 500 万行或者单表容量超过 2GB,推荐分库分表

因为这是一个数量级风险< 100 万基本无风险100~300 万注意索引 & SQL300~500 万开始评估500 万+必须有预案1000 万+被迫拆< 100 万:基本无风险 ——「随便用」📌工程含义查询快写入快加索引随便加表结构改动随便来就算设计不太好,也能兜住就算你现在写的 SQL 有点烂,也不太会炸。100~300 万:注意索引 & SQL ——「开始要认真了」工程含义表已经不小了坏 SQL 开始显形少数全表扫描会被感知到。

2025-12-20 22:14:36 1113

原创 【MySQL】InnoDB记录存储结构

InnoDB 是一个将表中的数据存储到磁盘上的存储引擎,即使我们关闭并重启服务器,数据还是存在。而真正处理数据的过程发生在内存中,所以需要把磁盘中的数据加载到内存中。如果是处理写入或修改请求,还需要把内存中的内容刷新到磁盘上。而我们知道读写磁盘的速度非常慢,与读写内存差了几个数量级。当我们想从表中获取某些记录时,InnoDB 存储引擎需要一条一条地把记录从磁盘上读出来么?不,那样会慢死,InnoDB 采取的方式是,将数据划分为若干个页,以页作为磁盘和内存之间交互的基本单位。

2025-12-18 21:23:11 644

原创 下载Dokcer安装到另一台无网CentOS

✅ 在有网机器把 Docker 打成 rpm 包。3️⃣ 下载 Docker 离线安装包(不安装)2️⃣ 添加 Docker 官方 yum 源。✅ 拷贝到无网 CentOS 7。3️⃣ 启动并验证 Docker。4️⃣ 检查下载结果(很重要)2️⃣ 本地安装 rpm。5️⃣打包成一个压缩包。1️⃣ 安装下载工具。

2025-12-15 23:27:36 308

原创 【Spring Cloud Alibaba】SkyWalking 链路追踪

skywalking是一个国产开源框架,2015年由吴晟开源,2017年加入Apache孵化器。skywalking是分布式系统的应用程序性能监视工具,专为微服务、云原生架构和基于容器(Docker、 K8s、 Mesos)架构而设计。它是一款优秀的 APM (Application Performance Management)工具,包括了分布式追踪、性能指标分析、应用和服务依赖分析等。

2025-12-11 21:27:26 314

原创 【场景题】美团点评分布式ID生成系统

到目前为止业界一共有5种方式生成UUID,详情见IETF发布的UUID规范。性能非常高:本地生成,没有网络消耗。不易于存储:UUID太长,16字节128位,通常以36长度的字符串表示,很多场景不适用。信息不安全:基于MAC地址生成UUID的算法可能会造成MAC地址泄露,这个漏洞曾被用于寻找梅丽莎病毒的制作者位置。ID作为主键时在特定的环境会存在一些问题,比如做DB主键的场景下,UUID就非常不适用:① MySQL官方有明确的建议主键要尽量越短越好,36个字符长度的UUID不符合要求。

2025-12-10 22:28:18 768

原创 【Spring Cloud Alibaba】Gateway(一)

我们微服务的架构,就是将一个大的业务/服务,拆分成多个小的业务与服务。每个业务都会需要鉴权、限流、权限校验、跨域等逻辑,如果每个业务都各自为战,自己造轮子实现一遍,会很蛋疼,完全可以抽出来,放到一个统一的地方去做。

2025-12-05 14:00:57 431

原创 【场景题】慢SQL问题如何排查

❌ 因为使用了 LIKE “%xxx%” —— 左模糊匹配导致索引完全失效。👉 说明 mysqld 启动信息,版本 8.0.29。👉 锁等待时间几乎为 0,说明“不是锁导致的慢”。👉 SQL 执行耗时:37.04 秒(非常慢)。❗ 核心问题:why 需要扫描 2509 万行?👉 SQL 执行完毕的时间(UTC)。根据场景 我使用FULLTEXT。示例:开启MySQL慢查询日志。👉 扫描了 2509 万行!

2025-11-29 10:40:51 753

原创 【场景题】线上接口响应慢,应该如何排查问题?

排查线上接口响应慢问题应遵循"监控先行→定位→分析→优化"闭环方法论: 宏观定位:通过监控工具(Prometheus/SkyWalking)区分单接口或全局慢,分析RT/QPS/错误率趋势 链路追踪:使用SkyWalking/Zipkin精确定位耗时环节(DB/Redis/RPC等) 深入分析: 网络:检测延迟/丢包 中间件:排查MySQL锁/慢SQL、Redis大Key、MQ堆积 服务端:检查CPU/内存/IO瓶颈,JVM GC及代码热点(Arthas/jstack) 优化验证:针对性

2025-11-10 22:40:06 630

原创 【Arthas】基础使用

官方文档:Gthub:Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参、异常,监测方法执行耗时,类加载信息等,大大提升线上问题排查效率。这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?

2025-11-02 20:11:33 1124

原创 【场景题】分布式锁都怎样实现

排在最前面的号,拥有取水权,就是一种典型的独占锁。另外,先到先得,号排在前面的人先取到水,取水之后就轮到下一个号取水,挺公平的,说明它是一种公平锁。在每一个节点下面创建临时顺序节点(EPHEMERAL_SEQUENTIAL)类型,新的子节点后面,会加上一个次序编号,而这个生成的次序编号,是上一个生成的次序编号加一。故事发生在一个没有自来水的古代,在一个村子有一口井,水质非常的好,村民们都抢着取井里的水。假定,取水时以家庭为单位,家庭的某人拿到号,其他的家庭成员过来打水,这时候不用再取号,如下图所示。

2025-10-30 20:06:09 792

原创 【场景题】List集合去重

必须正确实现 hashCode() 与 equals(),否则无法真正去重。Stream 是基于 “数据流管道(pipeline)” 的抽象实现。可以考虑分片去重(分批次放入 Set,再合并),降低内存峰值。每一层都是一个对象,每层都会包一层 lambda 表达式。,长度为 100 万,其中包含约 10% 的重复数据。速度更快,前提是去重像Integer这种简单数据。LinkedHashSet 是最优组合。数据流经时,这些层会逐一调用回调函数。当数据量 > 10^6 时。

2025-10-28 23:01:20 377

原创 【NebulaGraph】Nebula Importer使用

NebulaGraph Importer(简称 Importer)是一款 NebulaGraph 的 CSV 文件单机导入工具,可以读取并批量导入多种数据源的 CSV 文件数据,还支持批量更新和删除操作。支持多种数据源,包括本地、S3、OSS、HDFS、FTP、SFTP、GCS。支持导入 CSV 格式文件的数据。单个文件内可以包含多种 Tag、多种 Edge type 或者二者混合的数据。支持过滤数据源数据。支持批量操作,包括导入、更新、删除。

2025-10-22 23:21:01 903

原创 【项目问题排查】孟小哥捉虫

本文系统介绍了项目问题排查的方法论与实践指南。首先从整体分析思路出发,提出技术栈排查命令、双重视角分析、常规排查流程和诊断工具分类的完整框架。重点阐述了日志查看技巧,比较了cat/head/tail/vim/less/more等命令的适用场景,特别推荐less命令处理大文件日志。详细讲解了grep命令的高级用法,包括实时过滤错误(-f)、排除特定内容(-v)、查看上下文(-A/-B/-C)以及倒序搜索(tac)等实用技巧,并强调--line-buffered参数对实时监控的重要性。文章通过可视化示意图和具体

2025-10-20 22:22:59 471

原创 【JVM】线上JVM堆内存报警,占用超90%

摘要:线上JVM堆内存占用超90%触发告警,通过FullGC后老年代仍占用较高,确认存在内存泄漏。使用jstat监控内存使用情况,jmap分析发现大量Hadoop包的StatisticsData对象堆积。源码排查发现统计模块未正确释放资源,导致对象持续累积。最终定位为Hadoop统计模块资源未释放引发的内存泄漏,建议优化统计逻辑或增加清理机制。(149字)

2025-10-19 22:48:00 867

原创 【JVM】实战篇(一)

这篇JVM实战文章主要介绍了内存调优相关的内容。第一部分区分了内存泄漏(memory leak)和内存溢出(OutOfMemory)的概念,指出内存泄漏是对象不再使用但仍被引用导致无法回收,持续积累最终可能引发内存溢出。第二部分详细讲解了解决内存溢出的四个步骤,重点介绍了使用Linux的top命令分析系统资源使用情况,包括如何解读进程内存占用(RES常驻内存和SHR共享内存)以及关键系统指标(如CPU负载、内存使用率等)。文章还提供了内存泄漏的常见场景示例,如不及时清理用户请求数据或任务调度系统中的对象泄漏

2025-10-06 09:37:50 525

原创 【JVM】基础篇(一)

Java Virtual Machine 即Java虚拟机JVM本质上是一个运行在计算机上的程序,他的职责是运行Java字节码文件。JVM核心功能解释运行:实时将字节码指令翻译为机器码并执行,实现“一次编写,到处运行”的跨平台特性。内存管理:自动为对象、方法分配内存,并通过垃圾回收机制回收不再使用的对象,减少手动内存管理的风险。即时编译(JIT):对频繁执行的热点代码进行编译优化,将字节码直接转换为机器码缓存,提升运行性能。

2025-09-29 23:29:52 524

原创 【面试题】HTTP与HTTPS的区别

HTTP 协议,全称超文本传输协议(Hypertext Transfer Protocol)。顾名思义,HTTP 协议就是用来规范超文本的传输,超文本,也就是网络上的包括文本在内的各式各样的消息,具体来说,主要是来规范浏览器和服务器端的行为的。并且,HTTP 是一个无状态(stateless)协议,也就是说服务器不维护任何有关客户端过去所发请求的消息。这其实是一种懒政,有状态协议会更加复杂,需要维护状态(历史信息),而且如果客户或服务器失效,会产生状态的不一致,解决这种不一致的代价更高。

2025-09-28 14:35:19 344

原创 @Transactional 事务注解

1.Spring @Transactional 详解:何时使用、为什么使用、如何使用。当你需要执行多个数据库操作,且这些操作必须具备原子性(要么全部成功,要么全部失败)。2.工作 6 年,@Transactional 注解用的一塌糊涂!可以通过 rollbackFor 来修改默认规则。Spring 的事务管理主要基于。private 方法不生效。事务方法调用自身不会生效。

2025-09-25 23:45:35 1797

原创 【Spring Cloud Alibaba】Seata(一)

在传统架构中,基本都是单体应用,对应的数据库也是单库的形式,由于 MySQL、Oracle 数据库本身就具有事务机制,因此完全可以保证数据的一致性。而随着业务的变化,单体应用和单库越来越不满足发展的需求,可能会采取服务拆分、分库分表等优化手段,于是就出现了一个新的技术问题——分布式事务。本章将介绍分布式事务产生的原因,以及如何在微服务架构中引入 Alibaba Seata 组件来解决分布式事务。所有的数据访问技术都离不开事务处理,否则会造成数据不一致,在目前企业级应用开发中,事务管理是必不可少的。

2025-09-25 23:01:50 501

原创 【场景题】如何设计一个短链系统

我平时经常看极客时间上的专栏,上面的每一个专栏 URL 地址都有一个短链与之对应。比如你使用下面两个链接打开的都是《MySQL实战45 讲》这门课程。

2025-09-22 22:42:50 283

原创 【场景题】如何解决大文件上传问题

场景一:上传一个5G大小的视频,如果上传进度到达99%,然后突然网络断了,这个时候你发现需要重新上传,很抓狂,那么如何解决这个问题呢?答案:分片上传!什么是分片上传呢?简单来说就是先将文件切分成多个文件分片(如下图),然后再上传这些小的文件分片。前端发送所有文件分片之后,服务端将这些文件分片进行合并即可,这样就得到一个完整的文件。

2025-09-21 13:15:24 788

原创 【场景题】接口幂等

同一个接口在相同的输入下被多次调用,得到的结果应该是相同的,对系统状态的影响也应该是一致的。举个例子:查询接口:GET /user/1调用 1 次和调用 100 次,返回的结果(假设数据库没变)是一致的,没有副作用,这是天然幂等。下单接口:POST /order/create如果用户网络不好点了 2 次提交,系统就可能生成 2 个订单,这是 非幂等 的情况。接口幂等性问题,本质是如何避免重复请求导致的数据不一致。技术手段(唯一约束、锁、Token、幂等 Key)

2025-09-21 12:47:56 698

原创 【场景题】如何设计一个秒杀系统

秒杀系统主要是商品,这个秒杀活动会限制商品的个数以及秒杀持续时间。为什么秒杀系统的设计会是一个难点呢?是因为他的业务复杂吗?当然不是!秒杀系统的业务逻辑非常简单,一般就是下订单减库存,难点在于我们如何保障秒杀能够顺利进行。秒杀开始的时候,会有大量用户同时参与进来,因此秒杀系统一定要满足高并发和高性能。为了保证秒杀整个流程的顺利进行,整个秒杀系统必须要满足高可用。除此之外,由于商品的库存有限,在面对大量订单的情况下,一定不能超卖,还需要保证一致性。

2025-09-21 12:21:33 667

原创 【Spring AI】简单入门(一)

在当今这样一个快速发展的技术时代,人工智能(AI)已经成为各行各业的一种标配。而作为一款主流的Java应用开发框架Spring,肯定会紧跟时代的潮流,所以,推出了Spring AI框架。Spring AI 是一个面向 AI 工程的应用框架。它的目标是把 Spring 生态系统中的设计原则(例如可移植性、模块化设计等)应用到 AI 领域,并推动在 AI 应用中使用 POJO(普通 Java 对象)作为应用的构建模块。

2025-09-19 23:46:42 2221

原创 【Linux】常用命令(六)

修改官方源为阿里云、清华等镜像源,加快下载速度。enabled:是否启用(1=启用,0=禁用)[repositoryid]:仓库 ID。baseurl:仓库地址(可本地/网络)gpgcheck:是否检查 GPG 签名。gpgkey:GPG 公钥路径。

2025-09-16 17:02:13 723

原创 【Spring Cloud Alibaba】Sentinel(一)

Sentinel 是阿里巴巴开源的分布式系统的流量防护组件,主要用来做流量控制、熔断降级、系统保护。它的定位类似于Hystrix,但更侧重在流量治理上。目前在微服务、服务网关、大型分布式系统中广泛使用,Spring Cloud Alibaba 体系中也自带集成。🌟 Sentinel 的核心功能1.流量控制(限流)可以针对 QPS(每秒请求数)、并发线程数、调用关系等维度设置阈值。支持 匀速排队、预热模式、冷启动模式 等策略,避免突发流量冲击。2.熔断降级。

2025-09-04 21:28:09 727

原创 【计算机网络(自顶向下方法 第7版)】第一章 计算机网络概述

1.课程信息:【中科大郑烇、杨坚全套《计算机网络(自顶向下方法 第7版,James F.Kurose,Keith W.Ross)》课程】在介绍计算机网络体系架构的基础上,自上而下、以互联网为例系统地阐述了网络体系结构各层次的主要服务、工作原理、常用技术和协议,包括。4.课程简介:《计算机网络》mooc是2020年秋科大自动化系本科课程录制版,可与中科大学生一起完成专业知识的学习。2.教材:《计算机网络-自顶向下方法(第7版)》,机械工业出版社,2016。

2025-09-04 15:52:53 407

原创 【Linux】Java实战部分常用命令(五)

【代码】【Linux】Java实战部分常用命令(五)

2025-09-03 11:07:32 398

原创 【IntelliJ IDEA】插件分享

可以根据URL路径来路由到Controller方法,使用快捷键。这个插件会自动生成所有的setter方法。写代码的时候,可以自动注入Bean。会直接生成拼接好的MySQL语句。可以快速生成Arthas 命令。

2025-09-02 22:25:18 381

idea配置tomcat

idea配置tomcat

2022-06-20

空空如也

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

TA关注的人

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