- 博客(165)
- 收藏
- 关注
原创 Codex Skill 入门与实战:安装、调用和自建
它解决哪一类重复任务?何时应该触发,何时不应该触发?需要哪些输入,必须产出什么?哪些步骤或结论不能猜测,如何验证结果?例如本文使用的,任务边界是把学习截图、视频/文章来源和随记整理为结构化中文 Markdown;它还明确要求保留图片、来源和不确定项。Codex Skill 的核心是把可重复的任务流程变成结构化、可发现、可维护的能力。入门时先安装并实际调用一个成熟 Skill,理解它如何通过SKILL.md约束工作;随后选择一个边界清晰的重复任务,用起草,通过真实任务测试,再根据失败案例迭代。
2026-10-12 17:03:57
220
原创 【pi】-----极简是一种力量
选项行为No summary彻底回退,被丢弃的对话历史完全抛弃SummarizeAI 对当前分支上被回退掉的这段历史做一次总结自定义总结提示词,告诉 AI 该怎么总结重要细节:AI 总结时只总结这段分支上的工作,不会总结别的分支。例:从"白菜"回退到"茄子"并选择 summarize,只有被回退的那段分支会被总结,"皮皮虾"那条分支不会被总结。Ctrl + O。
2026-09-17 22:27:10
271
原创 【Day 3 文档向量化】阶段性总结
切片列表不是详情接口。列表 DTO 只返回前 100 字左右的,详情接口才返回完整 content。控制响应大小。避免列表页面 DOM 过重。让用户先定位切片,再按需读取全文。这里的 100 字是展示层摘要策略,不是底层真正的 chunk_size。当前底层切块配置是 600 字符,二者不要混淆。
2026-09-10 15:38:53
303
原创 【java进阶】------方法引用
在 Java 8 之前,如果希望把一段行为传递给另一个方法,通常需要编写匿名内部类。Lambda 表达式出现后,函数式接口的实现可以被压缩成更简洁的代码;而当 Lambda 表达式的主体只是调用一个已经存在的方法时,还可以继续使用方法引用进行简化。方法引用:把一个已经存在的方法作为函数式接口中抽象方法的实现。它本质上是 Lambda 表达式的进一步简写,而不是一种独立于 Lambda 的新执行机制。方法引用使用双冒号类名或对象名 :: 方法名需要注意的是,方法引用表达式不是立即调用方法。
2026-07-29 16:09:52
210
原创 【java进阶】------反射与动态代理
【部分代码涉及io流与集合的知识点,后续会补】反射的关键价值不在于“绕过正常调用方式”,而在于把原本编译期确定的类型访问,转化为运行期可决策、可配置、可扩展的元数据访问。换言之,反射使程序能够在不知道某个类的具体编译期类型时,仍然通过类名、字段名、方法名等信息完成对象创建与行为调用。在正式学习反射的 API 之前,必须厘清三个递进的核心概念:理解了字节码文件对象后,反射就不再是抽象的概念了。它其实就是围绕这个唯一的 字节码对象展开的一组结构化操作。1.4.2.2 MyReflectDemo1构造方
2026-05-28 22:03:52
274
原创 【java进阶】------ 网络编程【上】
架构类型核心形态显著优势局限性C/S 架构依赖独立客户端性能上限高、画面精美、硬件调用能力强需多端开发、更新维护依赖用户手动下载B/S 架构依赖通用浏览器跨平台免安装、即开即用、服务端静默更新重度渲染与复杂交互体验受限于浏览器性能总结:无论是 C/S 还是 B/S,其底层本质依然是计算机跟计算机之间通过网络进行数据传输。开发者在进行网络编程时,需要根据具体的业务需求、成本预算以及目标用户的体验要求来选择最合适的软件架构。
2026-05-26 11:10:58
461
原创 【java进阶】------ 多线程【线程池基础】
Executors的最大线程数过大,可能导致线程数量失控。的任务队列默认无界,可能导致任务堆积失控。工厂方法不利于开发者明确线程池的容量边界、拒绝策略和监控指标。因此,在严肃的后端工程中,更推荐直接使用构造方法创建线程池,将线程数、队列容量、线程工厂、拒绝策略全部显式写出。下面以一个自定义线程池为例,把的底层调度过程完整串起来。3363也就是说,在所有任务都持续占用线程的情况下,该线程池最多同时承载6个正在执行的任务和3个排队等待的任务。一旦第10个任务继续提交,就会超过线程池的承载边界。
2026-05-24 18:10:12
433
原创 【java进阶】------ 多线程【实际案例分析】
定义真正的并发任务,并通过call()返回最高奖项。包装Callable,负责保存异步执行结果。Thread接收FutureTask并启动线程。主线程调用ft1.get()与ft2.get(),等待两个线程结束。主线程比较max1与max2,输出最终胜者。总结Callable解决的是“任务有返回值”的表达问题;FutureTask解决的是“异步结果如何被主线程安全获取”的管理问题。二者配合使用,构成了 Java 基础并发模型中最直接的结果回收方案。
2026-05-17 21:26:01
467
原创 【Java 常用 API】—— Collections
如果集合中存储的是自定义的 JavaBean(如Student类),系统并不知道该按年龄还是按成绩排序,此时必须传入Comparator比较器。// 内部定义一个简单的 Student 类用于测试 static class Student {return age;} // 重写 toString 方法,方便直接打印对象看到内容 @Override public String toString() {System . out . println("排序前:");
2026-05-16 14:19:34
415
原创 【java进阶】------ 多线程【上】
生产者消费者模式是一个经典的多线程协作模型。生产者线程:负责生产数据,并放入共享区域。消费者线程:负责从共享区域取出数据并消费。为了降低生产者与消费者之间的耦合,通常会引入一个共享数据区域,例如桌子、仓库、队列等。生产者只负责放数据,消费者只负责取数据,二者通过共享区域间接协作。
2026-05-14 22:41:21
476
1
原创 【JavaWeb】----- 登录认证 与 统一拦截架构详解
首先在EmpService// ... 其他原有方法 /*** 员工登录验证* @param emp 登录信息 (需包含 username 和 password)* @return 成功返回用户信息及 Token,失败返回 null在日常生活中,“会话”指的是两人之间的一场交谈。在 Web 开发中,会话(Session)指的是浏览器与服务器之间建立的一次持续连接过程。会话的生命周期:用户打开浏览器,第一次向服务器发送请求。
2026-04-26 21:07:08
608
原创 【JavaWeb】----- Linux基础入门
命令适用场景特点cat查看小文件一次性显示全部内容more查看大文件分页显示,只能向下翻head查看文件开头默认显示前 10 行tail查看文件末尾默认显示后 10 行,支持实时监控文件 < 100 行 → 用cat查看配置/表头 → 用head查看日志/监控 → 用tail -f特性cp(复制)mv(移动/改名)原文件✅ 保留❌ 消失(被剪切)复制目录必须加-r无需额外参数磁盘占用增加(多一份副本)不变(仅改变路径)执行速度较慢(需读取+写入)同分区极快(仅改元数据)典型场景。
2026-04-14 22:24:16
535
原创 LeetCode80. 删除有序数组中的重复项 II
请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。删除重复出现的元素,使得出现次数超过两次的元素只出现两次,返回删除后数组的新长度。由于数组已经排序,相同的元素必然连续出现。是「已保留序列」的倒数第 2 个元素,如果当前元素等于它,说明已经出现了 2 次(不需要考虑数组中超出新长度后面的元素。不需要考虑数组中超出新长度后面的元素。时,前 2 个元素最多出现 2 次。,并且原数组的前五个元素被修改为。,并且原数组的前七个元素被修改为。中每个元素最多出现 2 次。
2026-04-09 17:00:02
443
原创 LeetCode26. 删除有序数组中的重复项
函数应该返回新的长度 5,并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4。不需要考虑数组中超出新长度后面的元素。函数应该返回新的长度 2,并且原数组 nums 的前两个元素被修改为 1, 2。不需要考虑数组中超出新长度后面的元素。这是解决有序数组去重问题的标准解法,也是本题考察的核心——如果所有断言都通过,那么您的题解将被。删除重复出现的元素,使每个元素。,返回删除后数组的新长度。的思想,但使用数组来模拟哈希表。去重后,返回唯一元素的数量。之后的剩余元素可以忽略。
2026-04-08 14:39:41
413
原创 LeetCode 27. 移除元素
的元素时,将其赋值给慢指针所在位置,然后慢指针右移一位。的位置即为有效元素的个数。这种方法会改变元素的相对顺序。个元素之外留下了什么并不重要(因此它们并不计入评测)。个元素之外留下了什么并不重要(因此它们并不计入评测)。这种方法最直观易懂,但需要额外的空间来存储有效元素。的元素依次加入列表中。元素的顺序可能发生改变。遍历完成后,再将列表中的元素依次复制回。如果所有的断言都通过,你的解决方案将会。,且空间复杂度为 O(1),是最优解法。注意这五个元素可以任意顺序返回。的值即为有效元素的个数。
2026-04-07 20:50:52
433
原创 LeetCode 88. 合并两个有序数组
由于两个数组已经是非递减顺序排列,我们可以使用双指针分别遍历两个数组的有效部分。每次比较两个指针指向的元素,将较小的元素放入临时数组中,直到其中一个数组遍历完毕,再将另一个数组的剩余元素追加到临时数组末尾。最后将临时数组的元素复制回。方法一需要从前往后合并,因此需要额外的空间来存储结果。最终,合并后数组不应由函数返回,而是存储在数组。,然后相应指针前移。的元素全部放置完毕后,合并完成;这种方法类似于归并排序中的合并操作。个元素表示应合并的元素,后。个空位,我们可以利用这一点,中,使合并后的数组同样按。
2026-04-07 15:28:31
255
原创 【java进阶】------ 包装类
Integer用于包装int类型的数据。也就是说,一个Integer对象内部,本质上就是在保存一个整数值。装箱:把基本类型转换成对应的包装类对象拆箱:把包装类对象转换回对应的基本类型。
2026-04-02 15:03:02
411
原创 【java集合进阶01】------ Collection单列集合
在正式学习ListCollection是单列集合的顶层接口。像ListSet这类常见单列集合,本质上都共享Collection中定义的一组基础能力。Collection接口本身的共性能力,以及List系列集合的使用与底层理解。当集合中存储的是自定义对象(JavaBean)时,contains(判断是否存在)和remove(删除)方法的准确性完全取决于该对象类中equals方法的实现。
2026-03-31 17:23:04
409
原创 【java进阶】------ Lambda表达式
函数式编程(Functional Programming)。面向对象思想:强调“谁去做”。做事情必须先找一个对象,通过对象调用方法来完成。函数式思想:强调“做什么”。它忽略面向对象的复杂语法,只关注结果,不关注执行的对象是谁。Lambda表达式正是函数式思想在Java中的具体体现。
2026-03-29 22:54:13
469
原创 【java常用API】----- Arrays
Arrays类位于java.util包下,是一个专门用于操作数组的工具类。由于数组是编程中最基础的数据结构之一,Arrays提供了大量静态方法来简化数组的常见操作,例如排序、搜索、填充和转换等。
2026-03-29 19:37:49
425
原创 LangChain4j 核心知识体系与 “AI 编程小助手“ 实战解析
“AI 编程小助手” 是一个面向编程学习、技术答疑和面试求职辅导场景的智能应用。它不是一个单纯的聊天机器人,而是一个具备多轮记忆、知识检索、工具调用、外部协议扩展和流式交互能力的完整 AI 应用。项目当前技术栈为:选择 LangChain4j + Spring Boot,而不是直接手写模型 HTTP 调用,核心原因有四点:抽象层次更高LangChain4j 提供了 、、、、、 等统一抽象,避免项目从底层 HTTP 开始堆砌。与 Spring 生态天然契合模型、检索器、工具、监听器都可以直接作为 Spri
2026-03-27 12:38:19
466
原创 【javaWeb基础】-----【Spring 事务管理】
用来配置事务传播行为。所谓事务传播行为,指的是:当一个事务方法调用另一个事务方法时,被调用方法应当如何处理事务。A 方法有事务B 方法也有事务A 方法内部调用了 B 方法B 方法是加入 A 方法的事务?还是自己开启一个新的事务?这就是事务传播行为要解决的问题。Spring 事务管理的核心目标,是保证多个数据库操作之间的数据一致性。一个完整业务如果包含多个数据库操作,应使用事务进行统一控制是 Spring 中最常用的事务管理注解,通常加在 Service 层方法上。
2026-03-12 20:20:43
423
原创 【javaweb】使用JAVA进行数据库操作
JDBC(Java DataBase Connectivity)是 Java 语言中用于操作关系型数据库的一套标准 API。它由 Sun 公司(现 Oracle)定义,为 Java 应用程序提供了一种统一的方式来访问各种关系型数据库系统,如 MySQL、Oracle、SQL Server 等。SQL 注入(SQL Injection)是一种常见的 Web 安全漏洞,攻击者通过在应用程序的输入字段中插入恶意的 SQL 片段,从而干扰或篡改原本的 SQL 语句逻辑,达到非法访问、篡改甚至删除数据库数据的目的。
2026-03-06 15:20:04
497
原创 【java进阶】------ 异常
场景规则要点关键词运行时异常可不处理,不强制throws或try-catchUnchecked重写方法 (父有异常)子类只能抛出相同或子类异常 (子集)范围缩小重写方法 (父无异常)子类不可声明受检异常,只能内部捕获严禁新增多重 catch子类在前,父类在后顺序严格finally几乎永远执行,除非资源回收最佳实践提示尽量捕获具体的异常,避免直接一把抓,除非是最后一道防线。在 JDK 7+ 环境中,优先使用语法自动管理资源,减少手动编写finally关闭代码的繁琐和出错概率。不要在。
2026-03-04 18:12:45
542
原创 【位运算入门】
x >> 1将二进制右移一位,相当于丢弃最低位(即末尾的0或1)。→ 二进制去掉末位x << 1左移一位,在末尾补0,相当于乘以2。→二进制 末尾补0x | 1使用按位或与1相与,确保最低位为1。→ 二进制 最低位变1x ^ 1异或1可翻转最低位(0→1,1→0)。;
2025-12-24 09:44:41
704
原创 【递归入门】
问:当前问题能否转化为一个“更小”的同类问题?对数根:→ 先算各位和x,然后求x的数根!// 问题规模缩小关键心态不要试图脑内展开所有调用!calc(x)能正确返回x的数根。你只负责当前层。适合递归的问题 = 自相似 + 有出口 + 能缩小写递归的三步心法1️⃣ 写基线条件(先保命)2️⃣ 定义递归关系(信子问题)3️⃣ 实现缩小工具(辅助逻辑)不要怕递归——它只是“让问题自己解决自己”的思维方式。
2025-12-16 17:19:47
816
原创 【JavaWeb】----- Web基础
在深入学习Spring Boot之前,我们首先要理解它的“前辈”——。官方口号:“”(Spring 让 Java 变得简单)Spring 是一个开源的轻量级Java开发框架,最初由Rod Johnson于2003年推出,旨在解决企业级Java应用开发中的复杂性问题。它通过依赖注入(DI)和面向切面编程(AOP)等核心机制,实现了组件之间的松耦合和可维护性。随着时间的发展,Spring逐渐演变为一个庞大的开发生态圈,包含多个子项目,共同构成了所谓的“Spring全家桶项目功能简介。
2025-12-15 11:15:09
755
原创 【JavaWeb常见BUG】—— Lombok依赖失效问题
在 Java Web 开发中,Lombok 是一个广受欢迎的开发辅助工具,它通过注解自动生成常见的样板代码(如 getter、setter、toString、构造函数等),极大地提升了开发效率和代码可读性。然而,在实际项目中,开发者经常会遇到的问题:IDE 中看不到生成的方法、编译时报错找不到方法、运行时抛出 NoSuchMethodError 等。
2025-12-08 21:43:56
1239
原创 【JavaWeb】----- Maven入门与实践
Maven 的构建过程是高度标准化和自动化的,其核心机制之一就是生命周期(Lifecycle)。生命周期将项目的构建流程划分为一系列有序的阶段(Phase),确保不同项目在不同环境下都能以统一的方式完成编译、测试、打包和部署等操作。核心目标:对所有 Maven 项目构建过程进行抽象与统一,提升开发效率和可维护性。软件测试是软件开发过程中不可或缺的关键环节,旨在通过系统化的验证手段,确保软件在功能、性能、安全性等方面满足预期要求。测试(Testing)
2025-12-03 20:59:31
1073
原创 【Java常用API】-----BigDecimal
BigDecimal是 Java 提供的一个用于表示任意精度小数的类,同样位于java.math包中。它通过将数字以字符串或精确数值的形式存储,避免了浮点数因二进制表示不精确而导致的计算误差。
2025-11-26 20:33:50
775
原创 【Java常用API】-----BigInteger
BigInteger是一个不可变的类(immutable),意味着一旦创建了一个BigInteger对象,其内部存储的值就不能被修改。所有对BigInteger的操作都会返回一个新的BigInteger对象,而不是改变原对象。| byte: 1字节 || short: 2字节 || int: 4字节 || long: 8字节 || || 最大 long 值: |当数值超过此极限时,必须使用BigInteger来保证精确计算。
2025-11-25 22:58:07
1138
原创 【Java常用API】-----Object 与 Objects
是 Java 7 引入的一个静态工具类,专为简化对象操作、提升代码健壮性而设计。
2025-11-24 21:22:10
970
原创 【Java常用API】-----Runtime
Runtime是 Java 中用于的核心类,它封装了与操作系统交互的能力,如执行外部命令、获取内存使用情况、控制虚拟机生命周期等。与System类类似,Runtime也是一个典型的。
2025-11-17 19:26:21
1123
原创 【Java常用API】-----System 与 标准 I/O流
System是 Java 中一个非常重要的,提供了与操作系统和运行环境相关的实用方法。它封装了系统级的操作,如退出程序、获取时间戳、数组拷贝等,是开发中频繁使用的内置类。与Math类类似,System。
2025-11-16 21:14:36
1128
原创 【Java常用API】----- Math
Math是 Java 中一个非常重要的工具类,用于执行基本的数学运算。它提供了一系列静态方法,方便开发者进行各种数学计算。质数是指大于 1 且只能被 1 和自身整除的自然数。因此,要判断一个数n是否为质数,只需检查是否存在小于 n 的正整数 d,使得n % d == 0。如果存在,则n不是质数;否则是质数。
2025-11-16 19:25:56
870
原创 【java阶段练习】----- 学生管理系统
*** 学生类(Student)* 用于封装学生的基本信息,包括学号、姓名、年龄和家庭住址。* 提供无参构造方法和全参构造方法,以及所有字段的 getter 和 setter 方法。*//** 学生的唯一标识(学号) *//** 学生的姓名 *//** 学生的年龄 *//** 学生的家庭住址 *//*** 无参构造方法* 用于创建一个默认的学生对象(所有字段初始化为默认值)。*/// 默认构造,字段由Java自动初始化(String为null,int为0)/**
2025-11-11 22:45:34
398
原创 【Java常用API】----- ArrayList
String>表示该ArrayList只能存储String类型的对象。如果尝试添加其他类型的数据,编译器会报错,提高了安全性。类别方法名功能说明增add(E e)在末尾添加元素,返回true删删除指定元素,返回是否成功删除指定索引元素,返回原元素改修改指定索引元素,返回原值查获取指定索引的元素size()获取集合中元素个数判断是否包含某元素返回首次出现的索引clear()清空所有元素toArray()转换为数组return id;@Override。
2025-11-10 20:45:03
1395
原创 【Java常用API】----- 字符串 与 链式编程
可以看作是一个可变的字符串容器;创建后,其内部内容可以被修改(添加、删除、替换、反转等);所有操作都直接作用于同一个对象,不会生成新对象;提高字符串操作的性能与效率。若希望自定义类支持链式编程,只需在 setter 等方法中返回this// 关键:返回当前对象System.out.println("姓名:" + name + ",年龄:" + age);new User().setName("李四").info();输出:这种设计模式被称为。
2025-11-09 20:10:11
1089
原创 【java基础语法】------方法
public static void 方法名() {// 方法体:实现具体功能的代码System.out.println("选人物");System.out.println("准备开局");System.out.println("对线");System.out.println("崩盘");System.out.println("骂队友");System.out.println("送人头");playGame();// 执行一次打游戏流程playGame();
2025-11-04 22:26:45
778
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅