自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 收藏
  • 关注

原创 高精度阶乘求和模板深度解析

该代码是OI中经典的高精度阶乘求和模板,核心为三数组(a、b、c、f)+多长度变量协同维护。通过逐位乘法与进位处理实现i!计算,再累加至sum。关键细节包括:乘法内层循环至len_b确保不越界;加法进位用除法而非自增;每次清空c数组防残留。虽结构紧凑高效,但长度变量繁多易混淆,需谨慎维护。适用于高精度乘低精度+加法场景,可直接套用。

2026-10-11 21:26:49 224

原创 Spring AI day1(SSE+AI)

本文详细介绍了基于Spring Boot与Spring AI构建RAG应用的六步实践:修复启动报错、验证SSE链路、引入Spring AI依赖、配置OpenAI密钥、实现对话接口,并测试普通与流式对话。核心在于通过ChatClient.Builder实现自动装配,利用call()同步调用和stream()响应式流式输出,结合SSE协议实现逐字渲染,显著提升交互体验。关键点包括依赖管理、环境变量配置、Fluent API链式调用及WebFlux响应式编程。

2026-10-05 20:27:58 254

原创 购物车开发中的一个代码片段学习

该方法实现购物车中商品数量减少功能:先通过用户ID、菜品ID及口味构建查询条件,查找对应商品;若不存在则静默返回;若存在且数量为1,则删除整条记录;否则数量减1并更新。核心逻辑在于区分“删行”与“减数”两种情况,确保数据一致性与用户体验。

2026-09-27 14:58:52 370

原创 后端工程师必要技能:进程排查思维

掌握核心排查思维:先取证、再操作,高危变更前备份现场,遵循最小改动原则,完成后必校验。使用CMD或PowerShell链路排查端口占用:通过netstat -ano | findstr :端口获PID,再用tasklist或Get-Process -Id查进程名及路径,确认无残留实例后方可重启。推荐PowerShell,可直接获取exe完整路径,避免多版本冲突。实操中应先停止旧Nginx实例(如PID 34744),再启动新服务。此流程适用于Java、数据库、服务器等各类问题排查,通用性强。

2026-09-24 14:14:43 52

原创 xml-->引发的多表连接问题

该SetmealMapper.xml通过左外连接查询套餐及其分类名称,使用MyBatis动态SQL实现多条件模糊查询,按创建时间降序排列。分页由Service层的PageHelper插件自动添加LIMIT,XML中无需写分页语句。查询结果封装到SetmealVO,需注意:数据库下划线字段(如category_id)可依赖驼峰映射;关联字段c.name必须起别名categoryName,否则前端无法获取分类名。采用LEFT JOIN确保分类删除后套餐仍能显示,避免数据“隐身”,提升系统容错性。

2026-09-22 17:10:42 224

原创 接口开发的注意和进度

开发混乱源于缺乏固定流程,核心问题为:无固定顺序、重复造轮子、一次性写多层代码。解法是:先列伪代码定顺序,复用同构功能(如查列表、主从表),逐层验证(每写一层编译测试)。关键思维:先有数据生产者(管理端),再有消费者(用户端);依赖本质是“数据流向”,非代码引用。按“底座→生产者→消费者→身份前置”顺序开发,可避免盲目与返工。

2026-09-22 15:36:57 219

原创 xml 文件的书写语法

本文详解MyBatis XML映射文件结构与核心语法,包括XML声明、DOCTYPE定义及mapper根标签的命名空间作用。重点解析<select>与<insert>标签的使用,结合<foreach>实现动态SQL:in查询通过open/close生成括号,批量插入则在foreach内嵌括号;参数占位符#{}采用驼峰命名取值,SQL列名用下划线,确保类型安全与防注入。强调命名一致性、符号规范及驼峰/下划线匹配,避免常见错误。

2026-09-22 13:15:19 227

原创 后端+AIAGENT项目开发指南

针对“后端+Agent”项目,建议基于成熟开源项目进行二次开发,避免从零造轮子或直接照搬。优选如AI-GIO、kewei-ai-agent等结构清晰、技术先进的项目,结合校园场景定制业务(如经费审批助手),并深入优化RAG检索、引入状态机与可观测性,开展技术选型对比。通过业务改造与技术深挖,打造有真实问题解决能力、量化成果与个人思考的项目,有效提升简历竞争力。

2026-09-21 18:29:26 456

原创 自然语言处理2

RNN通过隐藏状态h实现“边读边记”,解决词嵌入忽略顺序的问题。W2是记忆通道,使每步输出依赖前序信息;逐字符输入确保顺序理解;预测下一个字符采用自监督学习,无需标注;分类任务用交叉熵损失;梯度通过BPTT反向传播,因权重复用需沿时间累加。参数调优中,hidden_size过小则记忆不足,过大易发散;lr过大会导致梯度爆炸,需结合梯度裁剪、降lr或使用LSTM/GRU缓解。

2026-09-20 22:31:29 245

原创 大二上一门有趣的选修课NPL(自然语言处理)

AI应用工程师核心工作是将AI能力产品化,聚焦语义搜索、RAG和AIAPI三大场景。词嵌入是其技术地基:通过向量化实现语义匹配,支撑向量检索与大模型生成。掌握Python、FastAPI、向量数据库及大模型调用,结合工程化能力(Docker、并发、测试),可构建高效可靠的AI服务。从10行代码起步,快速实践,逐步完成从向量化到RAG项目的全流程,打通通往高薪岗位的技术路径。

2026-09-17 18:52:14 347

原创 解决同类内部调用JAVA(AOP learning)

同类内部调用不走代理” =this.b()调用的是真身,不是代理对象,所以b()上的 AOP 注解不生效。这是 Spring AOP 最经典的失效场景,解决方案是把方法拆到另一个类,或者注入自己。“拆出去 + 注入” = 把方法挪到一个新类,然后用@Autowired拿到新类的代理对象。这样调用就跨类了,跨类调用走代理,AOP 注解就生效了。“拆出去 + 注入” = 把方法挪到一个新类,然后用@Autowired拿到新类的代理对象。这样调用就跨类了,跨类调用走代理,AOP 注解就生效了。

2026-09-12 11:28:27 57

原创 JAVA职业探索和学习----中间件开发目标

大二上,已学习 MiniSpring(IoC + DI + 生命周期),目标:中间件/底层工具方向。

2026-09-10 10:52:32 150

原创 反射Java(含笔记PDF)

例如,一个通用的 JSON 转对象工具,它不知道你会传什么对象,但可以通过反射获取该对象的所有 setter 方法,然后根据 JSON 中的字段名动态调用对应的 setter 来填充数据。项目中的应用:你项目里的依赖注入框架,就是利用反射,根据配置文件(如 config.properties)中配置的接口与实现类,动态地创建出具体的对象。这时,它们会利用反射,根据配置文件或注解中的类名(一个字符串),来动态地创建对象。它可以绕过 private 关键字的限制,直接读取或修改对象的私有字段。

2026-09-09 23:57:58 166

原创 后端开发阶段性总结

1. 看接口文档,确定请求方式、路径、参数2. 写 Controller(@PathVariable 接路径参数,普通参数接 query)3. 写 Service 接口 + 实现(构建对象,调用 update)4. 写 Mapper 接口方法声明5. 写 Mapper XML(<set> + <if> 动态更新)6. 启动测试:POST /admin/employee/status/0?id=27. 去数据库确认 status 变成 0启用 / 禁用员工 =更新 status 字段。

2026-09-07 22:26:36 257

原创 ThreadLocal解决一个线程里面跨层传递问题

表格问题答案ThreadLocal 是什么每个线程的私人储物柜,线程间数据隔离为什么能用它传值一次请求从头到尾在同一个线程执行在哪放拦截器preHandle里在哪取Service 里为什么要清理线程池会复用线程,不清理会有脏数据在哪清理拦截器里需不需要改方法参数不需要!这就是 ThreadLocal 的优势。

2026-09-06 15:32:44 191

原创 Git&Powershell项目操作注意

以.idea(IDEA 配置)、.git(git 仓库元数据)、.mvn。资源管理器/普通命令默认看不见,需要"显示隐藏文件"或。案例.git是隐藏的,所以我第一次列目录时只看到untitled,差点以为没 git 仓库。

2026-09-02 21:24:34 295

原创 项目完善Javaspringboot

内容主要关于springboot项目的调试:访问doc.html、数据库查密码、加密接口、端口占用、token设置等。需简洁概括。项目调试指南:检查/doc.html路径及拦截器配置;通过SSH查数据库;调用/migrate-password将明文密码加密为BCrypt;端口占用时改用8081;最后在Knife4j中登录并配置全局Token。

2026-09-01 10:17:13 234

原创 spring练习——构建项目时候的注意点+Mapper理解+MyBatis学习点总结+报错学习

如果你的 MySQL 版本是8.0+,且url中没加会报时区错误,你现在的配置里有,这点做得很好,不需要动。改完之后启动项目,如果报连不上,优先检查密码和数据库名(springboot-vue / demo_db)是否真实存在。你可以先在命令行用试试能不能登进去。😊看日志的先后顺序:先看异常类型 → 找→ 找指向你自己代码的第一个at行。at行里带文件名+行号直接点过去看。跳过噪音这些框架内部的行一般不用管,重点看你项目包名()下的行。陌生英文别慌:抓住异常类型名 + 最后一句描述。

2026-08-25 16:34:11 269

原创 MyBatis 项目学习+一些注解积累

第 46 行用了 9 参构造方法,但User类里根本没有这个构造器——实体只有默认无参构造,所以编译报。

2026-08-24 22:49:47 202

原创 Java异常学习[特殊字符]

无论成功还是失败,给前端返回的格式必须长一模一样。我们定义一个泛型类Result<T>java// 泛型T,代表你要返回的具体数据(比如订单列表、用户信息)@JsonInclude(JsonInclude.Include.NON_NULL) // 如果data为空,就不序列化这个字段// 1. 状态码:200表示成功,其他表示各种失败// 2. 提示消息:给前端或者用户看的文字// 3. 具体的数据:泛型,可以是任何对象。

2026-08-18 10:52:31 402

原创 MySQL快照读与当前读:高并发数据库的秘密

快照读/当前读想象数据库里有一条数据(比如id=1的用户余额是100元),这就像图书馆书架上的一本。

2026-08-16 17:53:33 670

原创 Deepseek Harness初体验

DeepSeek Harness(DSH)网页版使用

2026-08-15 18:03:36 934

原创 MySQL存储过程与触发器实战技巧

两段触发器代码完整解析整体说明新增触发器:给tb_user插入数据之后,自动往日志表user_logs记录插入详情删除触发器:给tb_user删除数据之后,自动往日志表user_logsNEW:INSERT/UPDATE 触发时,代表新增 / 修改后的新数据行OLD:DELETE/UPDATE 触发时,代表删除 / 修改前的旧数据行第一段:插入触发器 tb_user_insert_triggersqlbegin。

2026-08-13 14:23:44 512

原创 JAVA web 学习计划

JavaWeb 的学习核心是—— 它的核心价值是为 Spring MVC、Spring Boot 打地基,不是让你用原生 Servlet 做生产级项目。结合你「Java 后端 + AI Agent」的目标,完全不用深耕老式 JSP 页面开发,重点吃透 Servlet 体系、会话机制、MVC 分层思想即可,全程 5~7 天就能过完核心内容。

2026-08-09 14:35:12 394

原创 java 双列集合(Map)

0, 数组长度)` 范围内的随机整数(这里数组长度为 4,所以随机得到 0/1/2/3)。遍历 ArrayList,用 HashMap 统计每个字符的出现次数。是 Map 的内部接口,代表一个 “键 + 值” 的整体,提供。生成 80 个随机的 A/B/C/D 字符存入 ArrayList。中就有了 80 个随机的 A/B/C/D 字符。再次遍历所有键值对,只要元素的次数等于最大值。遍历所有键值对:每次取出当前元素的次数,和。取出当前次数,次数 +1 后,再用。再次遍历,打印所有次数等于最大值的字符。

2026-08-09 13:53:02 176

原创 Mysql优化学习

场景一次性插入,普通多条insert性能差。MySQL 提供,从文本文件导入数据,速度远快于 insert。文件格式示例(csv/log 文本)plaintext每条代表一行记录字段之间用逗号分隔每条记录换行分隔完整操作三步1. 连接 MySQL 客户端,带上参数bash⚠不加这个参数,无法开启本地文件导入功能。2. 开启全局参数开关sql开启:允许从加载文件导入数据库。3. 执行 load 导入语句sql关键字解释表格语法含义读取的文件导入到哪一张表字段之间分隔符为逗号。

2026-08-07 11:55:20 306

原创 Java泛型实战:高效处理集合数据类型

泛型类:在类名后定义泛型<E>,类中所有实例方法都可使用E,创建对象时确定类型。泛型方法:在方法返回值前定义<T>,仅当前方法可用T,调用方法时自动推导类型。泛型接口:实现类可以直接确定类型,或保留泛型交给创建对象时确定。泛型通配符:使用<? extends T>表示类型上界,可以接收T及其子类。注意事项:静态方法不能使用类泛型,必须自己定义为泛型方法。

2026-08-06 16:11:15 298

原创 MYSQL索引使用原则(完结)

本文详细讲解了MySQL联合索引的最左前缀法则原理及优化实践。通过创建订单明细表并建立(user_id,order_date,product_id)联合索引,演示了不同查询场景下的索引使用情况:完全匹配最左列时高效走索引;跳过中间列或缺少最左列时索引失效;范围查询会使右侧列无法参与索引查找。特别强调了覆盖索引的优势(Using index)及如何通过调整查询字段和索引顺序来优化性能。最后给出了实战避坑指南和优化口诀:"等值写在最前面,范围写在最后面"帮助开发者正确设计索引和编写高效SQL

2026-08-05 16:22:56 498

原创 JAVA 集合

本文摘要:介绍了Java集合框架的基本操作,包括Collection接口的常用方法(add/remove/contains)、迭代器遍历、增强for循环、Lambda表达式遍历等。重点讲解了List集合的操作,如索引位置添加/删除元素、列表迭代器的前向/后向遍历等。同时补充了包装类的valueOf缓存机制对集合性能的影响,以及字符串与对象的转换技巧。代码示例展示了各种集合遍历方式和常见操作,为Java集合框架的学习提供了实践参考。

2026-08-04 17:18:28 425

原创 java-api+匿名内部类+lambda

Java 的集合是严格的接口继承体系,方法是从上往下一层层继承下来的,不是每个类自己随便加的。,它们负责把上面接口定义的方法真正实现出来,各自用不同的数据结构(数组、链表、哈希表),性能特点不同。很多操作是所有 List 通用的(比如排序、反转、找最大值),如果每个实现类都写一遍,代码严重重复。:Java 8 为了配合函数式编程,给最顶层的可遍历接口统一增加了遍历方法,避免每个集合自己写循环。(构造方法私有,不能实例化),它自己不存任何数据,专门给各类集合提供通用的、公共的操作方法。

2026-08-03 23:56:08 196

原创 学习git操作(往github上面上传第一个后端项目)

里的 IP 是localhost里的密码是(占位符)包含.idea/target/*.env项目里没有.env文件(或已加入 .gitignore)

2026-08-02 18:48:12 232

原创 接口和实现HashMap&ArrayList

面向接口编程是工程代码的基本规范,集合、服务层、DAO 层处处都在体现这个思想是后端业务代码的 “黄金组合”,承载了绝大多数数据临时存储、分组、聚合的需求String 的不可变性是面试高频考点,也是日常写代码容易踩坑的地方Arrays是操作数组的工具库,算法和底层代码用得多,业务代码更多使用集合工具类需要我再补充一下这些集合的遍历方式(普通 for、增强 for、迭代器、Stream),或者讲讲 HashMap 的扩容机制这类面试常考内容吗?

2026-07-31 00:34:38 185

原创 MYSQL学习

【代码】MYSQL学习。

2026-07-29 00:48:06 16

原创 JAVA-api-ArrayList&Math

长度可变的容器。

2026-07-28 18:09:43 33

原创 JAVA SE--API learning

【代码】JAVA SE--API learning。

2026-07-27 14:02:40 24

原创 java 面向对象

java语法

2026-07-25 17:05:43 188

原创 java算法题训练

2.求剩下能接住的雨水的个数。两个数组合并取中位数的问题。

2026-07-25 14:41:59 555

原创 第五章:方法

获取1-100里面的10个随机数存入数组当中,保证数据是唯一的。1.个数不同,类型不同,顺序不同。2.一般不写形参顺序不同的方法。同一个类里面,方法名相同,的方法,无需看返回值。

2026-07-23 13:35:34 209

原创 linux Top命令(假期学习自用)

2026-07-22 16:33:06 171

原创 7.17刷题

以数组intervals表示若干个区间的集合,其中单个区间为。请你合并所有重叠的区间,并返回一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。

2026-07-17 21:28:01 151

DP动态规划对应的题目清单

来源洛谷,力扣

2026-10-18

JAVA 反射与注解驱动的轻量级控制反转IoC 与依赖注入DI 容器的学习

AI 辅助生成 MiniSpring 框架,基于 Java 反射与自定义注解,实现 IoC 容器管理、依赖注入(DI)及 Bean 生命周期回调(初始化方法),深度理解 Spring 底层核心原理。

2026-09-09

Docker学习快速通关

Docker学习

2026-08-15

MYSQL学习计划,集中CRUD,事务与索引后续学习

MYSQL 学习的计划

2026-07-29

空空如也

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

TA关注的人

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