- 博客(58)
- 收藏
- 关注
原创 relative 与 absolute 的区别
一句话速记:从左到右分别是:关键点: 偏移后,它原本占的位置还在(图中蓝色虚线框),所以兄弟元素不会动;而 一脱离文档流,原位置就没了,后面的元素立刻顶上来。这是新手最容易踩坑的地方。 元素写的 到底从哪量起?答案是:从"最近的 position 不为 static 的祖先"量起。所以前端才有一个经典约定——给外层容器加 ,它自己还在正常流里铺满,同时又成了内部 子元素的"锚点盒子"。生活类比: 是一块软木板钉在墙上,绝对定位的子元素像便利贴——因为木板存在,便利贴就贴在木板()上;把木板撤了(),
2026-08-09 21:24:15
367
原创 SpringBoot后端限制重复提交
是 Spring MVC 框架提供的一个抽象类,它实现了接口,并为该接口的所有方法提供了默认的空实现。它的主要作用是HttpEntity。通过继承它,你只需重写自己关心的方法,而无需实现接口中所有的方法。
2026-07-14 10:52:01
36
原创 linux用的一些指令
PM2(Process Manager 2)是一个专为 Node.js 应用程序设计的。你可以把它想象成一个“永不休息的运维工程师”,它的主要作用是接管并管理你的应用进程,确保服务能够稳定、健康地运行。
2026-06-18 14:39:13
244
原创 项目中的一次OOM的记录
在请求统计金额数据的时候 出现了:要加载的数据量不是很大,问题定位关键在Caused byat com.agileboot.b.log.A切面.aroundDbService(A切面.java:37)定位了是在业务代码它调用把请求到的序列化成 JSON 字符串,然后拼到日志消息里。
2026-06-17 16:03:36
365
原创 Mysql的一次慢sql join的理解
场景:(预约表):10 万行(订单表):1 万行在预约栏目中,因前端传入的条件,在预约表单表里面没有,要用到订单表里面的数据为止关联支持。
2026-06-17 10:32:59
434
原创 DynamicDataSourceContextHolder类 动态数据源说明
Deque:双端队列(栈),支持 LIFO(后进先出)ThreadLocal:每个线程独立的副本,线程隔离。// ThreadLocal 源码(简化版)作用:存储数据源名称的栈,支持嵌套切换。空队列时 掉remove() 不会报错。
2026-06-05 09:39:29
38
原创 Git的操作
7c0a7ce28aaa2d ← 这是 HEAD 指向的 commit ID(简写为 7c0a7ce)git commit -m "feat: 多数据源功能整合(第一版 + 第二版)"因为我这两次提交有共同的文件,我想合并到一版上面,方便看到底哪些文件进行了修改。2.git reset --hard 7c0a7ce # 确保在第二版提交上。我commit提交了需求一版01,又commit提交了需求一版02,命令:git log --oneline -n 3。# 回退两步(保留修改),合并为一次提交。
2026-05-27 17:55:42
66
原创 JVM 入门学习笔记(内存模型 / GC / 类加载机制)
Java代码的运行环境Java代码不会直接运行在操作系统上。Java代码↓编译成.class字节码↓JVM解释执行Java程序和操作系统之间的一层中间层GC扫描的起点类型示例栈引用方法里的变量static变量静态缓存正在运行线程Thread常量引用String常量池Java程序的“操作系统”管理内存管理线程管理对象管理类加载管理垃圾回收一个大型公司的总管理系统对象如何创建对象如何存活对象如何死亡内存模型GC类加载对象生命周期管理展开的。
2026-05-21 16:10:15
472
原创 项目中 Vitest 配置详解:vitest.config.ts
项目的测试框架 Vitest 的配置文件。它定义了如何运行测试、使用哪些插件以及测试环境的设置等。
2026-05-11 14:01:04
311
原创 Mysql 索引的一些
新建一个 B+Tree 文件(独立于原始表)---- 索引树只存储索引字段:name + age + 主键 ID按 name 排序组织数据InnoDB 的二级索引(非主键索引)会自动。✅ 索引树里只有 name、age、主键 ID没有 phone、address 等其他字段✅ 按 name 字典序排列,查找极快。
2026-04-30 15:00:00
275
原创 SpringBoot 基于数据库的动态定时任务管理器实现方案
通过 API 接口修改任务的 Cron 表达式或状态,调用。方法,从数据库中加载所有任务并进行调度。核心调度逻辑,使用 Spring 的。
2026-04-27 16:21:15
296
原创 Mqtt发送信息报错
Too many publishes in progress (32202) 表明 Paho MQTT 客户端同时进行的发布操作太多了,这个错误码 32202 是客户端内部的错误代码,不是服务器返回的Paho 的内部逻辑大概是// 伪代码展示 Paho 的逻辑// 只有没超限才会加入队列// ... 实际发送逻辑。
2026-04-20 21:45:46
465
原创 Idea 开发的一些
在断点上,设置condition条件判断,当满足这个条件判断,才会触发断点,一般用在循环中。我这边想看 一下在for循环中,执行到多少个元素了。
2026-03-31 14:46:12
45
原创 Nodejs的一些
安装的就是一个命令行工具,它就是用 Node.js 写的可以用 Node.js 写自己的小工具,比如批量重命名文件、自动部署代码、抓取网页数据。
2026-03-26 17:22:56
289
原创 Mysql8 连接失败
- 刷新权限 FLUSH PRIVILEGES;-- 修改 root 用户的认证插件。用docker 安装mysql8。用dbeaver连接 报错。
2026-03-05 21:10:26
57
原创 uniapp 样式一些
min-heightmax-heightheight:生效。只要父元素有明确的高度(例如),子元素就能按比例计算。在某些浏览器或布局中,min-height的百分比值对父元素高度的计算方式比较特殊,有时会被视为0或者需要父元素有(如100vh)才能正确计算。
2026-02-26 16:23:49
971
原创 Spring Security认证流程
是 Spring Security 中的核心接口,负责处理认证请求。它的默认实现是 ProviderManager,内部会遍历一组 AuthenticationProvider 来完成认证。就有疑问,理论上应该查询数据库进行判断的,它是怎么进行的这个流程。要实现接口方法 loadUserByUsername。这边项目在用户登录的时会调用。
2026-02-05 09:59:44
218
原创 Spring一些知识点回顾
因为很多第三方包都是封装起来的,无法直接使用@Component 所以常用于配置类中,管理复杂对象、第三方库实例或需要编程式创建的 Bean。@Autowired : Spring 特有,默认按类型(byType)注入。@Resource : Java 标准注解,默认按名称(byName)注入。,由 Spring 容器管理。
2026-01-22 14:32:06
75
原创 微信小程序生成二维码
例如pages/course/detail?id=123 这是携带参数的,需要自己在detail.vue中 编码处理这个id。我这边项目小程序要给每个店铺生成一个二维码,让客户扫码的时候,能直接定位到当前门店,无需手动选择。如果无需携带参数,就直接编写 pages/course/detail。在所在小程序 微信控制台这边->获取小程序页面小程序码栏目中。输入对应的小程序页面路径。
2026-01-19 09:38:51
70
原创 Redis的一些使用
总结一下 最近在项目中对redis的一些使用我这边结果返回2) "0"Redis(受限于操作系统可用内存)。不会主动根据内存使用情况触发。当系统物理内存耗尽时,可能会导致操作系统 OOM(Out-Of-Memory)杀掉 Redis 进程,或系统变慢甚至崩溃。设置相关参数单位支持:b(字节)、k/kb、m/mb、g/gb,例如 512mb、2g。maxmemory 0 是 Redis 的默认值(在大多数版本中,尤其是未显式配置时)。
2026-01-18 21:37:35
781
原创 SpringBoot 项目一些语法记录
flatMap(item -> Arrays.stream(item.split(","))):将每个 completeDeptIds 按逗号分割为字符串数组,并通过 flatMap 将多个数组合并为一个流。sys_role_menu rm ON m.menu_id = rm.menu_id - 连接sys_role_menu表。m.menu_id - 选择不重复的menu_id。m.menu_id - 按menu_id分组。m.menu_id - 按menu_id排序。
2025-09-04 17:09:17
787
原创 windows docker(二) 启动存在的容器
此时访问宿主机的 /var/lib/docker/volumes/redis-data/_data 目录,即可查看 Redis 外挂的数据(注意:/var/lib/docker 是 Docker 默认数据存储路径,不同系统可能略有差异)。Source: /var/lib/docker/volumes/redis-data/_data → 数据卷在宿主机的实际存储路径(你要找的外挂目录)Source: d:/docker/redis/data → 宿主机的外挂目录(你要找的实际目录)
2025-09-02 22:50:53
423
原创 java synchronized关键字特性
实例方法锁:synchronized 修饰的实例方法锁住的是调用该方法的具体对象实例 (this)。这意味着同一时刻只有一个线程可以访问该对象的同步实例方法。静态方法锁:synchronized 修饰的静态方法锁住的是整个类的 Class 对象。无论有多少实例存在,同一时刻只有一个线程可以访问该类的同步静态方法。
2024-06-14 17:02:58
575
原创 统信UOS屏蔽mysql显性的用户名称以及密码
MySQL 客户端工具会自动检测并使用 .my.cnf 文件中的配置信息。这样展示的话,会暴漏我的用户名称和用户密码。有的时候我操作数据库的脚本语句为。
2024-06-13 16:24:02
404
1
原创 统信UOS/麒麟系统nginx通过shell脚本安装
echo '开始解压 nginx-1.20.2.tar.gz';echo '解压完成 nginx-1.20.2.tar.gz';直接贴出脚本 ,注意一下 执行的时候 要使用sudo权限。我这边用的是 nginx-1.20.2.tar.gz包。echo '进入 nginx-1.20.2 目录';echo '执行make install';echo '执行configure';echo '准备启动nginx';echo '启动nginx成功';说明一下,也是在网上查阅的结果。echo '执行make';
2024-01-23 09:48:11
2754
原创 Linux/统信/麒麟常用命令总结
如果是用户自定义文件没有权限的话(比如home目录下的自己创建的文件内容),直接给777权限就行,这个命令经常和grep命令一起使用,如果我想在A目录下 看B文件是否存在。我建议每次使用这个命令的时候 增加一个参数,防止重名文件直接覆盖。记录一下项目中常用的命令集,主要面向初次接触系统的维保文件。复制粘贴命令,使用是简单,这里就推荐三个带参数的。-i:若存在同名文件,则向用户询问是否覆盖。复制文件,若目标文件已存在,则询问是否覆盖。常用的使用环境,也是因人而已,可以参考。mkdir 你的文件夹名称。
2024-01-22 14:05:36
4469
原创 统信UOS/麒麟/deepin系统-通过Shell脚本安装jdk环境
1.我的机器是arch架构,准备的是arch架构的jdk包 ,要准备好适配自己机器的jdk包。2.我的机器之前从来没有装过jdk环境,是一台新机器。执行的过程中,没有遇到什么额外的问题,比较正常。用的是:jdk-aarch64.tar.gz包。2.复制粘贴到脚本里面,即可。#换成你自己gz包的名字。
2024-01-20 16:42:36
1028
原创 统信UOS/deepin系统DNS通过Shell脚本设置
我这边是因为需求中不让人为去手动设置DNS,要通过远程下发的方式去设置。(减少维保人员移动的成本)。原来设备上,没有设置过DNS。然后通过nmcli connection modify 网络连接的名字 +ipv4.dns $dns1。正好系统自身就支持nmcli,通过Shell脚本来做。1.检查当前有哪些网络连接是存活的。整体思路先得到存活的网络连接的名字。后面会照这个思路,继续优化一下脚本。activename="有线连接"2.修改当前DNS的域名。贴一下完整的demo。
2024-01-19 13:59:16
1859
1
原创 国产化系统麒麟系统装机流程(面向金融机具版)
在新机器上面 插入自己的U盘启动盘,开机按F2键,到BIOS设置,选择启动设备为自己的U盘即可。之前工作有一段时间程序要跑在麒麟系统上面,又没有现成环境,就只能自己搭个环境进行。直接现在安装即可,如果有提示信息的话,直接确定继续往下就可以。我这边偶发有时候点击现在重启,一直挂在首页面上面,没有进行重启。启动后,找到控制面版,根据自己的需求进行相关的设定就行。用户配置方式->选择是,后续设置自己的用户名和密码就行。准备工作:麒麟系统的镜像、U盘、镜像盘启动工具。后续我直接断电,重启即可,不会影响什么的。
2024-01-19 09:31:00
1875
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅