自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 底层解剖ThreadLocal及其引发的内存泄漏问题

内存泄漏,并不是顾名思义的说这个线程想独有的内存给别的线程偷偷抢走了,而是,内存不能被回收,就是内存泄露。

2025-07-10 10:31:28 2608 2

原创 关于数据库主从复制与主从同步的方法及一些问题

因为binlog记录的是连接内的全部数据库,而我们需要主从同步的往往只有其中的某一个数据库,那么binlog是怎么确定的?——有过滤的。因为binlog的每条记录里面会存。

2025-06-12 14:31:17 9681 2

原创 有关后端开发的密码存储安全问题

hash是不可逆的,正常情况下,不能通过哈希值直接反推出原始密码,因为哈希函数是单向函数,不具备可逆性。不过,攻击者总有办法。

2025-05-28 14:36:57 6118 1

原创 python读取海康RGBD感知相机并解析图像数据

基于海康的python SDK进一步开发解析RGBD图片,用作后续任务使用

2024-12-27 19:57:37 6531 3

原创 死信队列,从死信到死信的死信

在消息系统中,消息消费失败(重试多次,超时收不到ack)是一种必然存在的异常。例如:消费者业务逻辑抛出异常,无法处理消息;消息格式不符合预期,字段缺失;某些系统服务下线、数据库不可用,导致消息积压;队列满了、新消息无法入队;在这些情况下,默认行为是将消息丢弃或者反复尝试消费(根据配置),这显然不够健壮。为了提升系统的稳定性,需要一个机制把这些失败的消息收集起来进行后续处理或报警,这就是死信队列的价值所在。

2025-07-28 10:03:17 778

原创 CSRF 攻击原理与实验测试(附可运行测试案例)

CSRF就是跨站请求伪造,英文名 Cross-Site Request Forgery,是一种利用浏览器自动携带 Cookie的特性进行的攻击。攻击者诱导用户访问一个恶意页面,这个页面在用户不知情的情况下,向另一个已登录站点发起请求,执行敏感操作(如转账、发帖等)。关键点:依赖于 浏览器自动附带 Cookie用户必须 已登录目标站点攻击页面发起的是 合法路径的 HTTP 请求就比如,1、你在浏览器登录了某 xx 平台的账号。

2025-07-15 17:29:17 927

原创 指令重排序带来的多线程问题与volatile解决方案

指令重排序是编译器、JVM 和 CPU 优化性能的常见手段。为了提高执行效率,编译器、JVM、CPU可能会在不影响单线程语义的前提下,改变代码执行的顺序。但它可能会导致并发程序出现不可预测或错误的行为。举个例子:你以为执行顺序是A → B,但编译器可能会调换它们的顺序,或者 CPU 同时执行它们。不管是并行执行还是真的改变顺序,都是指令重排序。不过 C总得最后执行。因为 C有对 A B 的依赖关系。系统的多级优化可能会带来三种重排序:1、编译器优化重排序Java 编译器会在生成字节码或机器码时重排

2025-07-11 11:11:42 2571

原创 应用层解决TCP粘包与拆包问题

有些地方说http是靠特殊字符解决粘包拆包问题的,这个说法不对

2025-07-03 18:27:22 2149

原创 算法题—最长和谐子序列

和谐数组是指一个数组里元素的最大值和最小值之间的差别 正好是 1。给你一个整数数组 nums ,请你在所有可能的 子序列 中找到最长的和谐子序列的长度。数组的 子序列 是一个由数组派生出来的序列,它可以通过删除一些元素或不删除元素、且不改变其余元素的顺序而得到。示例:输入:nums = [1,3,2,2,5,2,3,7]输出:5解释:最长和谐子序列是 [3,2,2,2,3]。

2025-06-30 10:17:00 1682

原创 不可重复读 vs 幻读

在一个事务中,前后两次读取同一行记录,但第二次读取的值和第一次不同,原因是另一个事务在中间修改或删除了该行数据并提交了。在一个事务中,前后两次对某个范围(WHERE 条件)进行查询时,第二次读出的行数比第一次多或少了,原因是另一个事务插入或删除了满足条件的新记录。项目不可重复读幻读关注点同一条记录查询范围内的数据行原因其他事务修改或删除了已存在的记录其他事务插入或删除了新记录表现同一行数据两次读取不一致或消失相同条件下读取结果行数变多或变少解决方式。

2025-06-25 10:32:46 3472

原创 IN子查询与JOIN的区别理解

深入对比IN子查询和JOIN的本质区别、适用场景、性能表现、以及可能隐藏的坑。

2025-06-24 11:20:13 3941

原创 git stash的使用场景与方法

git stash是Git中用于临时保存当前工作目录和暂存区的修改的命令,最常用于这个场景:⚠️ 当你正在开发某个功能,但突然需要切换到其他分支去修复一个 bug,但当前的代码还没写完,不能提交。这时就可以用 git stash 暂存当前进度。然后切换分支改bug,改完回来还能恢复刚才的进度。

2025-06-18 11:00:26 2062

原创 关于Spring中用到的设计模式

Spring 是基础框架,Spring Boot 则是对 Spring 的自动配置和工程整合。所以这些设计模式大多数 Spring 和 Spring Boot 都会用到,只是 Spring Boot 更倾向于简化配置和增强自动化能力。

2025-06-16 08:58:52 1890

原创 算法题(力扣每日一题)—改变一个整数能得到的最大差值

给你一个整数 num。你可以对它进行以下步骤共计 两次:选择一个数字 x (0 <= x <= 9).选择另一个数字 y (0 <= y <= 9)。数字 y 可以等于 x。将 num中所有出现 x 的数位都用 y 替换。令两次对 num 的操作得到的结果分别为 a 和 b。请你返回 a 和 b 的 最大差值。注意,新的整数(a 或 b)必须不能 含有前导 0,并且 非 0。

2025-06-15 10:13:20 1295

原创 算法题—每种字符至少取 K 个

给你一个由字符 ‘a’、‘b’、‘c’ 组成的字符串 s 和一个非负整数 k。每分钟,你可以选择取走 s 最左侧 / 最右侧的那个字符。你必须取走每种字符 至少 k 个,返回需要的 最少 分钟数;如果无法取到,则返回 -1。示例 1:输入:s = “aabaaaacaabc”, k = 2输出:8解释: 从 s 的左侧取三个字符,现在共取到两个字符 ‘a’、一个字符 ‘b’。从 s 的右侧取五个字符,现在共取到四个字符 ‘a’ 、两个字符 ‘b’ 和两个字符 ‘c’。

2025-06-14 12:50:33 1715

原创 无痛实现数据库扩容——水平扩展方案

主从复制、数据库分片、集群

2025-06-13 15:03:33 2744

原创 关于逻辑删除字段命名及其索引问题

因为Java Bean规范和框架对getter方法名与属性名映射的规则,自动化框架是根据getter方法名来推断属性名的,在使用isDeleted()去反射属性名的时候,会认为你的属性名是isDeleted()去掉 is 改小写也就是deleted,而不是你的isDeleted,这样就出错了。,因为同一时间,表里始终只需要一个delete=0的记录,即正在使用的,其他的都是被逻辑删掉的即可,所以我们可以让被逻辑删掉的这些记录的delete=其中,(device,version)还是一组唯一索引,给。

2025-06-10 14:24:56 7295

原创 算法题—删掉一个元素以后全为 1 的最长子数组

给你一个二进制数组 nums ,你需要从中删掉一个元素。请你在删掉元素的结果数组中,返回最长的且只包含 1 的非空子数组的长度。如果不存在这样的子数组,请返回 0。示例 1:输入:nums = [1,1,0,1]输出:3解释:删掉位置 2 的数后,[1,1,1] 包含 3 个 1。示例 2:输入:nums = [0,1,1,1,0,1,1,0,1]输出:5解释:删掉位置 4 的数字后,[0,1,1,1,1,1,0,1] 的最长全 1 子数组为 [1,1,1,1,1]。

2025-06-09 15:34:51 1959

原创 算法题—整数反转——时间100%空间99.73%

给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。假设环境不允许存储 64 位整数(有符号或无符号)。

2025-06-09 15:31:29 2163

原创 关于ElasticSearch以及ES和数据库同步问题

ElasticSearch是一个基于Lucene的分布式、高性能全文搜索和分析引擎,常被用于处理大规模结构化和非结构化数据。它具备强大的搜索、分析、聚合能力,广泛应用于日志分析、监控系统、商品搜索引擎等场景。

2025-06-06 16:44:49 4060

原创 实际开发中Linux服务器操作的常用指令

记录一些在Linux系统中的服务器的命令行指令,大多是在远程服务器或本地终端中操作文件、等,基本上是一些Linux 运维、开发、排障的必备。

2025-06-04 20:25:33 3541

原创 动态IP的白名单管理问题

1)数据库存数据库的话,每次访问系统都要在filter里访问一次数据库,太影响性能了,除非你的需求是只有访问某些特定的功能,比如进管理后台的,这个就可以,管理人员访问不用考虑性能。2)Redis这个快,但是理论上redis最好不要存永久性的内容,需要做好废ip清除。还有就是持久化、可用性要做好,要不然redis掉了就没了。3)配置文件比如放在JSON、XML、YAML里,不过有个问题是每次想改都要重启服务,只适合存静态的,或者可以实现热加载也行。4)其他存在专门的硬件或者软件设备去管理。

2025-05-30 11:14:56 3656

原创 用Python实现一个轻量级图像标注工具

训练模型进行抓取检测任务时,自定义场景数据需要手动标注抓取点和角度,不仅耗时,还容易出错。因此,开发一个数据标注工具,在简洁的GUI界面上,用户只需鼠标点击即可完成数据标注,自动生成两张用于模型训练的灰度图。不过我的需求是抓取检测的前置任务——push网络的训练数据集。

2025-05-27 20:22:47 3414

原创 链接局域网下另一台电脑开的虚拟机

旧电脑上用VM开了CentOS7,运行了docker,mysql;想用新电脑链接旧电脑的mysql。

2024-09-07 16:56:33 5857 1

空空如也

空空如也

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

TA关注的人

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