diff --git a/自学/DDD领域驱动设计.md b/后端笔记/DDD领域驱动设计.md
similarity index 100%
rename from 自学/DDD领域驱动设计.md
rename to 后端笔记/DDD领域驱动设计.md
diff --git a/自学/JAVA面试题.md b/后端笔记/JAVA面试题.md
similarity index 100%
rename from 自学/JAVA面试题.md
rename to 后端笔记/JAVA面试题.md
diff --git a/自学/JavaWeb——后端.md b/后端笔记/JavaWeb——后端.md
similarity index 100%
rename from 自学/JavaWeb——后端.md
rename to 后端笔记/JavaWeb——后端.md
diff --git a/自学/Java笔记本.md b/后端笔记/Java笔记本.md
similarity index 100%
rename from 自学/Java笔记本.md
rename to 后端笔记/Java笔记本.md
diff --git a/自学/Jmeter快速入门.md b/后端笔记/Jmeter快速入门.md
similarity index 100%
rename from 自学/Jmeter快速入门.md
rename to 后端笔记/Jmeter快速入门.md
diff --git a/自学/Maven.md b/后端笔记/Maven.md
similarity index 100%
rename from 自学/Maven.md
rename to 后端笔记/Maven.md
diff --git a/自学/Mybatis&-Plus.md b/后端笔记/Mybatis&-Plus.md
similarity index 100%
rename from 自学/Mybatis&-Plus.md
rename to 后端笔记/Mybatis&-Plus.md
diff --git a/自学/Mysql数据库.md b/后端笔记/Mysql数据库.md
similarity index 100%
rename from 自学/Mysql数据库.md
rename to 后端笔记/Mysql数据库.md
diff --git a/自学/Redis.md b/后端笔记/Redis.md
similarity index 100%
rename from 自学/Redis.md
rename to 后端笔记/Redis.md
diff --git a/自学/mongodb_base.pdf b/后端笔记/mongodb_base.pdf
similarity index 100%
rename from 自学/mongodb_base.pdf
rename to 后端笔记/mongodb_base.pdf
diff --git a/自学/力扣Hot 100题.md b/后端笔记/力扣Hot 100题.md
similarity index 100%
rename from 自学/力扣Hot 100题.md
rename to 后端笔记/力扣Hot 100题.md
diff --git a/后端笔记/安卓开发.md b/后端笔记/安卓开发.md
new file mode 100644
index 0000000..fdc834f
--- /dev/null
+++ b/后端笔记/安卓开发.md
@@ -0,0 +1,100 @@
+# 安卓开发
+
+## 导入功能模块心得
+
+最近想在我的书城中增加一个阅读器的功能,难度颇高,因此在github上找到了一个封装了阅读器功能的项目,仅需获得文件本地存储地址,调用其提供的函数即可进行阅读。
+
+**但是**,github介绍的使用方法并不总是有效,比如我就经常无法正确添加依赖
+
+
+
+
+因此,我将其项目代码拷贝到本地,手动集成。
+
+
+
+依据项目结构,可以发现app是主项目,hwtxtreaderlib是功能模块,根据是这张图:
+
+
+
+build.gradle(:app)中引入了hwtxtreaderlib的依赖,而app只是个demo测试模块,相当于演示了如果在自己的项目中引用hwtxtreaderlib。因此,手动步骤如下:
+
+- 将hwtxtreaderlib复制到自己的项目文件夹中
+
+ 
+
+- 在app的build.gradle中,添加依赖
+
+```text
+implementation project(':hwtxtreaderlib')
+```
+
+- 在settings.gradle中,设置项目包括的模块
+
+```
+include ':app', ':hwtxtreaderlib'
+```
+
+- syn now! 同步一下,然后android studio中项目结构变成如下图
+
+
+
+- build没报错基本就稳了,然后就运行试试
+
+
+
+这里可能AndroidManifest.xml报错,需要查看原项目中app模块如何编写的,做些适当的修改!我这里卡了很久.
+
+
+
+有时候github项目会将项目的详细信息写在wiki中!!!
+
+
+
+
+
+
+
+## 如何运行本项目?
+
+用前须知:
+
+1. 本项目需联网使用,数据存储在后端云Bmob中,目前续费日期到7.22日结束,之后可能会出现无法运行情况。
+2. 内置的阅读小助手调用了chatgpt,但是通过国内网站镜像,因此无须连接vpn,且密钥写在项目中了,无须额外配置,直接使用即可,额度有限,超额小助手会无法响应,但基本不会超额
+3. 可以注册用户,也可以直接使用账号:6462 密码:123 登录
+4. 如有问题,联系我的qq:3061033470
+
+### 法一(推荐):
+
+本项目已经打包成签名的发布版APK,可以直接在apk文件夹下找到app-release.apk,发送到安卓手机上下载安装(需要在设置上启用‘安装未知来源的应用’),打开app登录即可使用。效果如下:
+
+**注意**:可能部分手机打开会出现颜色显示问题,目前未解决该问题
+
+### 法二
+
+**JianShu为项目文件,需要存放在无中文的路径中!!!**
+
+1. 下载2022版本的android studio(老旧版本可能出现bug)
+
+
+
+2. android studio内置各种安卓模拟机,需要首先打开Device Manager下载,建议下载Pixel 5 API30,下载模拟机可能耗时几分钟
+
+
+
+
+
+
+3. 导入本项目,点击根目录
+
+
+4. Gradle会自动导入依赖,下载本项目所依赖的文件,若android studio右下角停止加载则说明项目导入成功,第一次加载时间可能比较长
+
+ 如果意外中断了,可以在Android Studio中,点击`File > Sync Project with Gradle Files`。
+
+5. 运行项目,第一次运行会在模拟机上安卓该app
+
+
+
+6. 出现登录界面则成功
+ 
\ No newline at end of file
diff --git a/自学/微信小程序.md b/后端笔记/微信小程序.md
similarity index 100%
rename from 自学/微信小程序.md
rename to 后端笔记/微信小程序.md
diff --git a/自学/微服务.md b/后端笔记/微服务.md
similarity index 100%
rename from 自学/微服务.md
rename to 后端笔记/微服务.md
diff --git a/后端笔记/本地记录.md b/后端笔记/本地记录.md
new file mode 100644
index 0000000..9321719
--- /dev/null
+++ b/后端笔记/本地记录.md
@@ -0,0 +1,44 @@
+# 技巧
+
+## 修改git提交日期:
+
+用git bash here打开,不要cmd终端。
+
+1.先提交本地修改
+
+2.git rebase -i --root =》然后将需要修改的pick改为edit
+
+3.GIT_AUTHOR_DATE="2025-04-08T18:11:42" \
+GIT_COMMITTER_DATE="2025-04-08T18:11:42" \
+git commit --amend --no-edit --date "2025-04-08T18:11:42"
+
+注意这两个时间都要设置,删掉--no-edit可以编辑commit信息。
+
+4.git rebase --continue 继续编辑下一个提交记录
+
+5.git push --force origin master 提交修改到远程。
+
+
+
+git rebase --abort 如果中途不想修改了,可以退出操作
+
+git log --pretty=fuller -1 ,查看AuthorDate和CommitDate是否一致。
+
+
+
+编辑远程Gitea中的活动记录
+
+docker exec -it gitea bash
+sqlite3 /data/gitea/gitea.db
+
+SELECT id, name, created_unix FROM repository WHERE name = '你的仓库名'; =>获得仓库的id
+SELECT id, repo_id, created_unix FROM action where repo_id=19; =>获得该仓库的所有action
+
+
+
+
+
+
+
+
+
diff --git a/自学/消息队列MQ.md b/后端笔记/消息队列MQ.md
similarity index 100%
rename from 自学/消息队列MQ.md
rename to 后端笔记/消息队列MQ.md
diff --git a/自学/草稿.md b/后端笔记/草稿.md
similarity index 100%
rename from 自学/草稿.md
rename to 后端笔记/草稿.md
diff --git a/自学/Docker指南.md b/杂项/Docker指南.md
similarity index 100%
rename from 自学/Docker指南.md
rename to 杂项/Docker指南.md
diff --git a/自学/JavaWeb——前端.md b/杂项/JavaWeb——前端.md
similarity index 100%
rename from 自学/JavaWeb——前端.md
rename to 杂项/JavaWeb——前端.md
diff --git a/自学/Jupyter notebook快速上手.md b/杂项/Jupyter notebook快速上手.md
similarity index 100%
rename from 自学/Jupyter notebook快速上手.md
rename to 杂项/Jupyter notebook快速上手.md
diff --git a/自学/anaconda基础命令.md b/杂项/anaconda基础命令.md
similarity index 100%
rename from 自学/anaconda基础命令.md
rename to 杂项/anaconda基础命令.md
diff --git a/自学/git基本操作.md b/杂项/git基本操作.md
similarity index 100%
rename from 自学/git基本操作.md
rename to 杂项/git基本操作.md
diff --git a/自学/jupyter笔记本.md b/杂项/jupyter笔记本.md
similarity index 100%
rename from 自学/jupyter笔记本.md
rename to 杂项/jupyter笔记本.md
diff --git a/自学/linux服务器.md b/杂项/linux服务器.md
similarity index 100%
rename from 自学/linux服务器.md
rename to 杂项/linux服务器.md
diff --git a/自学/test.md b/自学/test.md
deleted file mode 100644
index 2d91fc3..0000000
--- a/自学/test.md
+++ /dev/null
@@ -1,82 +0,0 @@
-```c
-int main(){
- return 0;
-}
-```
-
-# 
-
-# 一级标题:# xx
-
-## 二级标题:## xx
-
-无序列表:- xx
-
-- 1
-- 2
-
-有序列表:1. xx
-
-1. first
-2. second
-
-任务列表:- [ ] xx
-
-- [ ] xx
-- [ ] xxx
-
-斜体:星号xx星号
-
-*斜体*
-加粗:星号星号xx星号星号
-
-**加粗**
-
-删除:波浪线波浪线xx波浪线波浪线
-
-~~删除~~
-
----
-
- 分割线:---
-$$
-\frac{\partial f}{\partial x}=2\sqrt{a}x
-$$
-注释:
-
-[百度](www.baidu.com "一个搜索引擎")
-
-[谷歌][id]
-
-[id]: google.com ""谷歌""
-
-[请参考标题一](#一级标题:# xx )
-
-![ww]()
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/自学/安卓开发.md b/自学/安卓开发.md
deleted file mode 100644
index a374886..0000000
--- a/自学/安卓开发.md
+++ /dev/null
@@ -1,52 +0,0 @@
-# 安卓开发
-
-## 导入功能模块心得
-
-最近想在我的书城中开发一下阅读器的功能,难度颇高,因此在github上找到了一个封装了阅读器功能的项目,仅需获得文件本地存储地址,调用其提供的函数即可进行阅读。
-
-**但是**,github介绍的使用方法并不总是有效,比如我就经常无法正确添加依赖
-
-
-
-
-因此,我将其项目代码拷贝到本地,手动集成。
-
-
-
-依据项目结构,可以发现app是主项目,hwtxtreaderlib是功能模块,根据是这张图:
-
-
-
-build.gradle(:app)中引入了hwtxtreaderlib的依赖,而app只是个demo测试模块,相当于演示了如果在自己的项目中引用hwtxtreaderlib。因此,手动步骤如下:
-
-- 将hwtxtreaderlib复制到自己的项目文件夹中
-
- 
-
-- 在app的build.gradle中,添加依赖
-
-```text
-implementation project(':hwtxtreaderlib')
-```
-
-- 在settings.gradle中,设置项目包括的模块
-
-```
-include ':app', ':hwtxtreaderlib'
-```
-
-- syn now! 同步一下,然后android studio中项目结构变成如下图
-
-
-
-- build没报错基本就稳了,然后就运行试试
-
-
-
-这里可能AndroidManifest.xml报错,需要查看原项目中app模块如何编写的,做些适当的修改!我这里卡了很久.
-
-
-
-**非常重要!!!**有时候github项目会将项目的详细信息写在wiki中!!!
-
-
\ No newline at end of file
diff --git a/科研/KAN.md b/论文/KAN.md
similarity index 100%
rename from 科研/KAN.md
rename to 论文/KAN.md
diff --git a/科研/动态图神经网络.md b/论文/动态图神经网络.md
similarity index 100%
rename from 科研/动态图神经网络.md
rename to 论文/动态图神经网络.md
diff --git a/科研/图神经网络.md b/论文/图神经网络.md
similarity index 100%
rename from 科研/图神经网络.md
rename to 论文/图神经网络.md
diff --git a/科研/强化学习.md b/论文/强化学习.md
similarity index 100%
rename from 科研/强化学习.md
rename to 论文/强化学习.md
diff --git a/科研/循环神经网络.md b/论文/循环神经网络.md
similarity index 100%
rename from 科研/循环神经网络.md
rename to 论文/循环神经网络.md
diff --git a/科研/液态神经网络.md b/论文/液态神经网络.md
similarity index 100%
rename from 科研/液态神经网络.md
rename to 论文/液态神经网络.md
diff --git a/科研/郭款论文.md b/论文/郭款论文.md
similarity index 100%
rename from 科研/郭款论文.md
rename to 论文/郭款论文.md
diff --git a/科研/陈茂森论文.md b/论文/陈茂森论文.md
similarity index 100%
rename from 科研/陈茂森论文.md
rename to 论文/陈茂森论文.md
diff --git a/科研/颜佳佳论文.md b/论文/颜佳佳论文.md
similarity index 100%
rename from 科研/颜佳佳论文.md
rename to 论文/颜佳佳论文.md
diff --git a/科研/高飞论文.md b/论文/高飞论文.md
similarity index 100%
rename from 科研/高飞论文.md
rename to 论文/高飞论文.md
diff --git a/自学/同步本地Markdown至Typecho站点.md b/项目/同步本地Markdown至Typecho站点.md
similarity index 100%
rename from 自学/同步本地Markdown至Typecho站点.md
rename to 项目/同步本地Markdown至Typecho站点.md
diff --git a/自学/招标文件解析.md b/项目/招标文件解析.md
similarity index 100%
rename from 自学/招标文件解析.md
rename to 项目/招标文件解析.md
diff --git a/自学/拼团交易系统.md b/项目/拼团交易系统.md
similarity index 93%
rename from 自学/拼团交易系统.md
rename to 项目/拼团交易系统.md
index d9bc820..54a9639 100644
--- a/自学/拼团交易系统.md
+++ b/项目/拼团交易系统.md
@@ -877,7 +877,7 @@ public class MyFeature {
- 扫描带 `@DCCValue` 的字段;
- 拼出完整 Redis Key(如 `dcc_prefix_key`),若不存在则写入默认值,否则读最新值;
-- 反射把值注入到该 Bean 的私有字段;
+- **反射把值注入到该 Bean 的私有字段**;
- 将 `(redisKey → Bean 实例)` 记录到内存映射,用于后续热更新。
```java
@@ -940,3 +940,83 @@ public Object postProcessAfterInitialization(Object bean, String name) {
+### HTTP客戶端框架
+
+**引入依赖**
+
+```xml
+
+ com.squareup.okhttp3
+ okhttp-sse
+
+```
+
+**让Spring 管理 Http客户端**
+
+- 写配置类
+
+ ```java
+ @Configuration
+ public class OKHttpClientConfig {
+
+ @Bean
+ public OkHttpClient httpClient() {
+ return new OkHttpClient();
+ }
+ }
+ ```
+
+- 在需要使用的地方注入
+
+ ```java
+ @Slf4j
+ @Service
+ @RequiredArgsConstructor
+ public class HttpService {
+
+ private final OkHttpClient okHttpClient;
+
+ /**
+ * 发送 JSON POST 请求并返回响应内容
+ *
+ * @param apiUrl 接口地址
+ * @param jsonPayload 请求体 JSON 字符串
+ */
+ public String postJson(String apiUrl, String jsonPayload) throws IOException {
+ //1.构建参数
+ MediaType mediaType = MediaType.get("application/json; charset=utf-8");
+ RequestBody body = RequestBody.create(jsonPayload, mediaType);
+ Request request = new Request.Builder()
+ .url(apiUrl)
+ .post(body)
+ .addHeader("Content-Type", "application/json")
+ .build();
+ //2.调用接口
+ try (Response response = okHttpClient.newCall(request).execute()) {
+ if (!response.isSuccessful()) {
+ log.error("HTTP 请求失败,URL:{},状态码:{}", apiUrl, response.code());
+ throw new IOException("Unexpected HTTP code " + response.code());
+ }
+ ResponseBody responseBody = response.body();
+ return responseBody != null ? responseBody.string() : "";
+ } catch (IOException e) {
+ log.error("调用 HTTP 接口异常:{}", apiUrl, e);
+ throw e;
+ }
+ }
+ }
+ ```
+
+- 优点:
+
+ 单例复用,性能更优
+
+ - Spring 默认将 Bean 作为单例管理,整个应用只创建一次 `OkHttpClient`。
+ - 内部的连接池、线程池、缓存等资源可以被复用,**避免频繁创建、销毁**带来的开销。
+
+ 统一配置,易于维护
+
+ - 超时、拦截器、连接池、SSL、日志等配置集中在一个地方,改动一次全局生效。
+ - 避免在代码各处手动 `new OkHttpClient()`、重复配置。
+
+
diff --git a/自学/智能协同云图库.md b/项目/智能协同云图库.md
similarity index 100%
rename from 自学/智能协同云图库.md
rename to 项目/智能协同云图库.md
diff --git a/自学/苍穹外卖.md b/项目/苍穹外卖.md
similarity index 100%
rename from 自学/苍穹外卖.md
rename to 项目/苍穹外卖.md