linux自动清理tmp临时文件导致的(The temporary upload location[/tmp/tomcat.]is not valid)问题
一个springboot项目,项目中有个自动生成word文档的功能。部署到inux上。本地测试生成word功能没问题,部署上去原本也没问题,后来突然就不能用了。但是本地启动了又没问题,所以到服务器上看了看报错信息如下:
java.io.IOException: The temporary upload location [/tmp/tomcat.221931977207093323.8086/work/Tomcat/loc ...
用300行代码手写一个mini版的Tomcat
Tomcat 是 Java Web 开发的基石。我们天天使用它,但你是否思考过它内部是如何工作的?为了打破这个“黑盒”,最好的方式就是动手实现一个极度精简的核心。本项目 “TinyTomcat” 的目标,就是用大约 300 行纯 Java 代码,实现一个能够解析 HTTP 请求、路由到对应处理逻辑并返回响应的微型服务器。通过这个过程,你将透彻理 ...
JavaSE知识总结
一、Java语言初识
了解Java语言
MarkDown语法
简单的dos命令
JDK-开发者工具包 ,配置环境变量
JRE-运行环境
二、HelloWorld
dos命令运行-javac hello.java,java hello
三、基础语法
注释-行内注释(//)多行注释(/* /)文档注释(/* /)
标识符-关键字
数据类型【
1.基本数据类型
整数 byte(1)short(2)int默认(4)lon ...
自建网盘!一款开源企业级文件存储管理系统!
大家好,我是 Java陈序员。
在企业开发和日常项目中,文件存储、大文件上传、网盘管理是几乎每个系统都会遇到的刚需场景。从简单的附件管理,到复杂的分片上传、断点续传、多存储介质兼容,自己从零开发不仅成本高、周期长,还容易踩坑。
今天,给大家介绍一款开源文件存储管理系统,十分适合自建网盘!
关注微信公众号: ...
【从0到1构建一个ClaudeAgent】协作-Worktree+任务隔离
到 s11, 智能体已经能自主认领和完成任务。但所有任务共享一个目录。两个智能体同时重构不同模块 -- A 改 config.py, B 也改 config.py, 未提交的改动互相污染, 谁也没法干净回滚。
任务板管 "做什么" 但不管 "在哪做"。解法: 给每个任务一个独立的 git worktree 目录, 用任务 ID 把两边关联起来。"各干各的目录, ...
2、IntelliJ IDEA 之下载与安装
2.1、下载
官方下载地址:https://www.jetbrains.com/idea/download/?section=windows
如上图所示,IDEA 支持 Windows、macOS 和 Linux 主流操作系统。
其中,Windows 的还支持安装器版和解压包版,本文以安装器版为示例,版本号为 2025.3.3 。
提示:在 2025.3 版本之前,IDEA 还分社区版和旗舰版,社区版是免费的;现 ...
LinkedList 插入真的是 O(1) 吗?深度解析 Java 双向链表的性能陷阱与源码真相
引言
LinkedList 的插入操作真的是 O(1) 吗?这个看似常识的答案,在实际生产中可能让你踩坑。
大多数开发者知道 LinkedList 基于双向链表,却忽略了它在真实场景中的性能陷阱:for 循环 + get(i) 会让时间复杂度退化到 O(n²),CPU 缓存不友好导致的性能下降,以及每个节点额外 ~32 字节的内存开销。
本文将从源码级别揭示 ...
【从0到1构建一个ClaudeAgent】协作-自主Agent
每次都要主 Agent 分配任务太累。
所以引入了自主智能体的概念,使智能体能够:
工作-空闲循环:智能体在工作完成时自动进入空闲状态
任务自动认领:空闲时扫描任务板,自动认领无人认领的任务
身份重新注入:在上下文压缩后重新注入智能体身份信息
自动资源管理:空闲超时自动关机,释放资源
关键洞察:扫描看板,认领任 ...
Java 操作 Markdown(2)--flexmark-java 使用
flexmark-java 是一个基于 Java 实现的 CommonMark (spec 0.28) 解析器,它采用了“先块后内联”的 Markdown 解析架构;本文主要介绍其基本使用,文中所使用到的软件版本:Java 17.0.5、flexmark 0.64.8。
1、简介
flexmark-java 的优势在于速度快、灵活性高、基于 Markdown 源元素的抽象语法树(AST)能够精确到组成元素的 ...
【从0到1构建一个ClaudeAgent】协作-团队协议
多个 Agent 怎么协商?
这个在智能体团队系统的基础上,增加了两种协议:
关机协议(Shutdown Protocol):
领导智能体请求团队成员关机
团队成员可以批准或拒绝关机请求
基于 request_id 的请求-响应模式
计划审批协议(Plan Approval Protocol):
团队成员提交计划给领导审批
领导批准或拒绝计划
同样基于 request_ ...
【从0到1构建一个ClaudeAgent】协作-Agent团队
一个 Agent 干不完怎么办?
Java实现代码
public class AgentTeamsSystem {
// --- 配置 ---
private static final Path WORKDIR = Paths.get(System.getProperty("user.dir"));
private static final Path TEAM_DIR = WORKDIR.resolve(".team");
private static final Path INBOX_DIR = TEAM_DIR.resolve( ...
【从0到1构建一个ClaudeAgent】并发-后台任务
有些操作很慢,Agent 不能干等着。例如长时间编译/构建:make, mvn compile, gradle build 或 大数据处理:hadoop, spark-submit 等的一些工作
Java实现代码
public class BackgroundTasksSystem {
// --- 配置 ---
private static final Path WORKDIR = Paths.get(System.getProperty("user.dir"));
private s ...
仿大疆司空2面状航线生成——凸多边形区域航线生成算法详解
仿大疆司空2面状航线生成——凸多边形区域航线生成算法详解
一、前言
去年,在针对大疆上云API进行二次开发的过程中,有一个需求是实现大疆司空2中的面状航线功能。在经过上网搜索后,在github上找到了一个开源项目cpRPA(植保无人机凸多边形地块工作路线规划),可以实现面状航线的生成。
参考项目github地址:https://git ...
自定义跨字段校验必填注解
应用场景:
一个类中属性a不为空时,属性b不能为空
一个类中属性a不为xxx时,属性b不能为空
一个类中属性a为xxx时,属性b不能为空
注解类
package com.xxx.common.core.annotation;
import javax.validation.Constraint;
import javax.validation.Payload;
import java.lang.annotation.*;
/**
* @Author zibocoder
...
【从0到1构建一个ClaudeAgent】规划与协调-任务系统
多个任务之间有依赖关系怎么搞?
Java实现代码
public class TaskSystem {
// --- 配置 ---
private static final Path WORKDIR = Paths.get(System.getProperty("user.dir"));
private static final Path TASKS_DIR = WORKDIR.resolve(".tasks"); // 任务存储目录
private static final Gson gson = new ...
apisix~graphQL的支持
https://apisix.apache.org/blog/2022/03/02/apisix-integration-graphql/
https://juejin.cn/post/7072557615833677837?is_preload=1&module_name=iOS_tt_url&share_token=5F541E05-B8E8-43A4-B76D-660A0461924C&tt_from=copy_link&upstream_biz=iOS_url&utm_campaign=client_share&utm_medium=toutiao_ios&utm_source=co ...
【从0到1构建一个ClaudeAgent】内存管理-上下文压缩
对话一长,Token 烧得肉疼。那怎么办,做压缩
Java实现代码
public class ContextCompactSystem {
// --- 配置 ---
private static final Path WORKDIR = Paths.get(System.getProperty("user.dir"));
private static final Path TRANSCRIPT_DIR = WORKDIR.resolve(".transcripts"); // 新增:对话存档目录
...
【从0到1构建一个ClaudeAgent】规划与协调-技能
这里解决了 Agent 开发中的一个核心痛点:上下文窗口限制与知识广度的矛盾。
Java 实现代码
public class AgentWithSkills {
private static final Path WORKDIR = Paths.get(System.getProperty("user.dir"));
private static final Path SKILLS_DIR = WORKDIR.resolve("skills"); // 新增技能目录
// --- 1 ...
1、IntelliJ IDEA 之简介
1.1、IDEA 使用率
如上图所示,根据《2025年Java开发者生产力报告》显示,IntelliJ IDEA 的使用率在 Java 开发者中已经将近 85% ,遥遥领先于第二名。
1.2、JetBrains 公司介绍
IDEA,是 JetBrains 公司的产品,该公司成立于2000年,总部位于捷克的布拉格,致力于为开发者打造最高效智能的开发工具。
除了用于 Java 开发的 ...
Java中的线程
什么是线程?
线程(Thread)是程序执行流的最小单位。
在 Java 中,一个线程代表一个独立的执行路径,它运行在进程(Process)内部。
进程 vs 线程:
进程是操作系统分配资源的基本单位(如一个 Java 应用就是一个进程)。
线程是 CPU 调度的基本单位,多个线程共享同一个进程的内存空间(堆、方法区),但各自拥有独立 ...