自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(301)
  • 资源 (6)
  • 收藏
  • 关注

原创 【MySql】事务的原理

UNDO 日志作为版本链的载体,不仅支撑了 MVCC,还为事务回滚提供了基础,是数据库高并发能力的核心技术之一。记录事务对数据的修改操作(如插入、更新、删除)的反向操作,用于在事务回滚或需要读取历史版本时恢复数据。若事务执行失败(如代码异常、数据库崩溃),数据库会通过 undo 日志反向执行所有操作,将数据恢复到事务开始前的状态,保证 “全不做”。1.事务提交机制事务只有在显式执行COMMIT时,所有修改才会被确认(持久化到磁盘);

2025-07-30 01:28:23 648

原创 【MySql】常见sql深入优化( 二)

本次用到的数据库表app_user :100w条数据app_userw: 10w条数据。

2025-07-26 15:32:53 565

原创 【MySql】数据库底层索引讲解-排序和数据结构

最左前缀原理是数据库索引优化中的一个重要概念,主要用于指导索引的合理设计和查询条件的编写,以提高查询效率。索引结构基础数据库中的索引通常以B-Tree结构存储,允许快速查找数据。复合索引由多列组成,如索引(a, b, c)表示按a、b、c的顺序排序。最左前缀的概念最左前缀是指复合索引中从最左边开始的连续列组合。例如,索引(a, b, c)的最左前缀包括(a)、(a, b)、(a, b, c)。查询条件与索引利用当查询条件包含最左前缀时,数据库引擎能够有效利用索引。

2025-07-24 23:27:23 602

原创 【MySql】索引下推优化详解、常见sql深入优化

order by语句使用索引最左前列。使用where子句与order by子句条件列组合满足索引最左前列。3、尽量在索引列上完成排序,遵循索引建立(索引创建的顺序)时的最左前缀法则。4、如果order by的条件不在索引列上,就会产生Using filesort。5、能用覆盖索引尽量用覆盖索引6、group by与order by很类似,其实质是先排序后分组,遵照索引创建顺序的最左前缀法则。对于group by的优化如果不需要排序的可以加上order by null禁止排序。

2025-07-24 23:26:52 956

原创 【MySql】索引设计原则 SQL优化

以社交场景APP来举例,我们一般会去搜索一些好友,这里面就涉及到对用户信息的筛选,这里肯定就是对用户user表搜索了,这个表一般来说数据量会比较大,我们先不考虑分库分表的情况,比如,我们一般会筛选地区(省市),性别,年龄,身高,爱好之类的,有的APP可能用户还有评分,比如用户的受欢迎程度评分,我们可能还会根据评分来排序等等。所以这里大家要对前缀索引有一个了解。当然,这个所谓的字段类型小一点的列,也不是绝对的,很多时候你就是要针对varchar(255)这种字段建立索引,哪怕多占用一些磁盘空间也是有必要的。

2025-07-24 23:26:19 627

原创 LangChain4J 使用实践

一个更复杂的选项是 TokenWindowChatMemory,它同样以滑动窗口方式运行,但专注于保留最近的 N 个 token, 根据需要移除旧消息。更简单的一个,MessageWindowChatMemory,作为一个滑动窗口工作,保留最近的 N 条消息,并移除不再符合条件的老消息。创建记忆提供器,通过id区分用户 在这个场景中,ChatMemory 将由 ChatMemoryProvider 提供,每个内存 ID 对应一个实例。每次问答都把把上一次的问答内容输出给ai。作用是塑造ai的身份。

2025-06-04 18:02:31 341

原创 Aware和InitializingBean接口以及@Autowired注解失效分析

在 Spring 框架里,@Autowired和Aware接口有着不同的设计目的,它们并非简单的替代关系。@Autowired的解析依赖于 bean 后处理器,属于扩展功能。接口相关方法会被调用,在某些场景下,因为@Autowired属于扩展功能,可能会在一些特殊情况下失效,而作为内置功能的 Aware。bean 后处理器来完成的,在 bean 的生命周期中,@Autowired的解析处理是在特定的扩展流程里进行的。例如在某些场景下,使用 Aware 接口注入 ApplicationContext。

2025-05-12 23:20:38 339

原创 Java引用RabbitMQ快速入门

如果没有设置限制话不管你上一条消息是否处理完,消费者会一直接收,设置厚只有处理完消息才会接受下一条。key是谁对应消费者就会接收到对应key的消息。

2025-05-07 00:21:05 659

原创 Spring Bean生命周期原理、常见的后处理器实现

springboot项目启动类定义一个LifeCycleBean,加上@Component注解,再编写一些方法,给这些方法加上Bean的生命周期过程中的注解编写自定义Bean的后处理器,需要实现InstantiationAwareBeanPostProcessor和DestructionAwareBeanPostProcessor接口,并加上@Component注解,对lifeCycleBean的生命周期过程进行扩展。bean的除了四个阶段,每个阶段都可能会有后置增强功能。

2025-04-25 01:01:45 397

原创 深度理解spring——BeanFactory的实现

BeanFactory是SpringApplication类的父类接口BeanFactory才是Spring的核心容器,主要的SpringApplication类都组合了他的功能。通过Ctrl+alt+u可以看到可以从图片中看到SpringApplication是继承了BeanFactory接口对BeanFactory进行了功能性的扩展。比如SpringApplication获取一个bean的对象。

2025-04-24 23:25:35 1520 2

原创 二叉树遍历练习题

由后序遍历确定子树的根,后序遍历从后向前看,最后一个元素为根,和前序遍历刚好相反,从后向前看后序遍历,应该是根,右,左,根据中序遍历确定子树的左右区间。通过前序遍历找到子树的根,在中序遍历中找到根的位置,然后确定根左右子树的区间,即根的左侧为左子树中所有节点,根的右侧为右子树中所有节点。B的左子树:JGDHK B的右子树:空 C的左子树:ELIM C的右子树:F。7的左子树: 4 7的右:空 9的左子树:6 9的右子树:2。D的左子树的根:G D的右子树的根:H E的右子树的根:I。

2024-07-01 16:19:02 351

原创 guli商城业务逻辑-基础篇笔记

删除只能使用逻辑删除,也就是把数据库里的删除字段从0改成1,数据不可以真正的删除掉,所以就要用到mybatis-plus的逻辑删除来执行数据库操作。找到我们之前逆向生成的代码,用的是人人代码逆向生成项目生成的,具体流程看我之前的文章。因为接口的后端api地址跟后台地址不一致,需要通过注册api网关的方式转发来解决。这里先处理人人后台的后端,后面在对接上guli的接口。单独创建一个异常类,他的作用就是用来统一处理异常的。为了避免重复的造轮子,先创建出来一个公共的类category.vue。

2024-06-16 22:25:12 1403

原创 Python 爬取淘宝指定搜索商品评论 标题 销量 计算sign

只需要替换原来的Cookie和token即可使用,自动计算对应链接地址的sign直接使用即可。需要注意是一个账号爬取过多会有验证码。

2024-06-14 14:20:53 661

原创 CTF-Misc学习笔记

我要加密的字符串为 " beyondlight" ,在上表中寻找与明文字母对应的数字组合,组合中第一个数字为横坐标,第二个数字为纵坐标,两个数字共同定位明文字符。在密码学中,凯撒密码(Caesar cipher),或称凯撒加密、凯撒变换、变换加密,是一种最简单且最广为人知的加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。2.密文中出现的数字范围为1-5,超出这个范围的数字可能是与明文相同的数字。这个可以查看不同的色彩通道。

2024-06-04 14:01:25 624

原创 web安全基础学习笔记

index.php是一个用PHP语言开发的网站的首页,index是普遍意义上的“首页”,也就是你输入一个域名后会打开一个页面,基本上就是index.xxxx(基本上首页都不会把index.xxxx显示在url里,但也不绝对) 使用index.php~下载到源代码。eregi函数在进行匹配的时候,如果碰到%00会意味着字符串的结束,因此我们只需要传入%001234,他截取到%00后匹配的时候就会变成111,111在1114中,成功绕过。只要通过让他的语句结果为真就可以进行注入,找到注入点让他的结果不一样。

2024-06-03 20:07:52 1096 1

转载 创建一个vue项目(webpack 和 vue-cli3)

解释一下这个命令,这个命令的意思是初始化一个项目,其中webpack是构建工具,也就是整个项目是基于webpack的。所以选第一个独立放在一个文件。vue create project-name //project-name是你要创建的文件夹名字。Sass/SCSS (with dart-sass) //运行处时速度比node块。Linter / Formatter //规范层面。

2024-05-17 13:15:29 249

原创 黑马guli商城项目初始化-SpringCloud微服务项目初始化使用SpringCloudAlibaba快速搭建分布式系统

*** 1、如何使用Nacos作为配置中心统一管理配置* 1)、引入依赖,* 2)、创建一个bootstrap.properties。* 3)、需要给配置中心默认添加一个叫 数据集(Data Id)gulimall-coupon.properties。默认规则,应用名.properties* 4)、给 应用名.properties 添加任何配置* 5)、动态获取配置。* @RefreshScope:动态获取并刷新配置* @Value("${配置项的名}"):获取到配置。

2024-05-16 10:58:13 872

原创 使用人人开源renren-fast快捷搭建后台管理系统

这个报错是因为SSL的问题,在SQL语句后面加上去 &useSSL=false 即可。

2024-05-15 21:24:58 377

原创 HyperLogLog的使用做UV统计

使用Jedis连接Redis并操作HyperLogLog。

2024-05-15 01:12:54 327

原创 Redis学习笔记

业务阻塞后会出现极端情况,一个线程的锁超时释放后,这个进程结束阻塞的同时也会把另一个线程的锁给释放掉了。先刷新用户的token如果不存在就接着往下走,然后走到下一个拦截器中拦截。目前都是同步进行的,优化方案是使用异步。使用独立的线程来解决耗时的部分。解决方案,存放一个线程标识,是自己的锁才能释放不释放别人的锁。在之前的写法高并发的场景下库存会出现超卖的问题。使用map结构来计算同一个线程进入了多少次锁。先操作数据库在写入缓存出现异常的情况较少。乐观锁是用来解决更新数据时候的并发问题,添加redis线程锁。

2024-05-14 10:19:25 1034

原创 linux使用docker 安装mysql redis

https://hub-stage.docker.com/ 前往这里搜索容器来部署。每个容器都有独立的运行环境。

2024-04-24 17:22:00 585 2

原创 归并排序算法

然后得到了一个新的序列,然后对比两个序列的头部看看那个序列的头部最小。第一次排序完成后就会得到一个新的数组,然后重复以上操作继续两两合并。然后把两个序列内容进行排序对比头部移动到新的序列里面去。例如这个数组,进行从大到小的顺序来合并。最后只剩下一组序列,归并排序就到最后了。

2024-04-09 17:53:45 279

原创 我的创作纪念日

提示:你过去写得最好的一段代码是什么?提示:当前创作和你的工作、学习是什么样的关系。提示:可以和大家分享最初成为创作者的初心。提示:在创作的过程中都有哪些收获。提示:职业规划、创作规划等​​。

2024-03-25 21:08:08 348

原创 差分【Java】

【代码】差分【Java】

2024-03-19 22:59:43 364

原创 【Python】使用selenium对Poe批量模拟注册脚本

【代码】【Python】使用selenium对Poe批量模拟注册脚本。

2024-03-19 22:20:56 1152

原创 字母异位词分组【每日一题】

可以通过案例找到规律,每个词排序完后是同一个,所以通过hasmap存储排序过的值做key,值是存储单词集合。

2024-03-17 21:33:34 356

原创 【哈希表】Java

给每份数据分配一个编号,放入表格(数组)建立编号与表格索引的关系,将来就可以通过编号快速查找数据1.理想情况编号当唯一,数组能容纳所有数据2.现实是不能说为了容纳所有数据造一个超大数组,编号也有可能重复解决1.有限长度的数组,以【拉链】方式存储数据2.允许编号适当重复,通过数据自身来进行区分。

2024-03-17 20:03:43 182

原创 区间问题【前缀和】

前缀和数组:用于处理 连续多次取区间和 操作的情况,取区间和期间不能对原数组进行区间增减数操作。

2024-03-17 03:31:16 706

原创 二叉树数据结构【Java】

【代码】二叉树【Java】

2024-03-16 15:33:14 288

原创 数据结构中的堆(Java)

在堆的操作中,非叶子节点的重要性体现在维护堆的性质(如最大堆或最小堆)方面。非叶子节点是指至少有一个子节点的节点,它们位于堆的上层。在二叉堆(Binary Heap)中,非叶子节点的数量总是等于总节点数的一半(向上取整)。在堆(Heap)这种数据结构中,节点被分为两类:叶子节点(Leaf Nodes)和非叶子节点(Non-Leaf Nodes)。叶子节点是指没有子节点的节点,它们位于堆的最底层。在堆中,叶子节点的数量总是大于或等于非叶子节点的数量。该方式适用索引为0起点的堆。

2024-03-12 22:28:15 529

原创 leetcode 3074. 重新分装苹果 【Java】

【代码】leetcode 3074. 重新分装苹果 【Java】

2024-03-12 22:05:32 319

原创 队列模拟栈

队列是先进先出的数据结构。栈是后进先出的数据结构。

2024-03-06 01:50:08 240

原创 链表哨兵例子

【代码】链表哨兵例子。

2024-03-05 22:25:05 300

原创 递归学习资料

使内存能够得到及时的释放,某些编译器可以对尾调用做优化。时间优化但是增加了空间成本,增加了空间复杂度。

2024-03-04 21:56:25 294

原创 vue教程

一旦起了名字就是具名插槽,需要添加template包裹起来。

2024-02-24 22:05:37 1098

原创 每日算法/路飞吃桃/Z递归

【代码】每日算法/路飞吃桃/Z递归。

2024-01-28 17:09:38 169

原创 ensp实验

network 192.168.1.0他直连的网段 0.0.0.255网段的反掩码。同样的另一台交换机也是一样,lsw2配置完lsw4也要配置。配置好接口的ip地址根据这个ip地址做地址池分配就可以了。acsess只允许通过这个254vlan10的这一个区域。设置完成后设置vlan10的ip地址也就是他的网关。dhcp动态协议给他一个范围他自行分配ip地址。开启他的dhcp 选择他的模式为global。陪完整对应的ip地址之后可以配置ospf了。根据接口的网段来分配ip地址,从大到小的方式。

2023-12-24 01:10:18 1394

原创 Java队列

【代码】Java队列。

2023-10-12 00:38:36 207

原创 软考软件设计师-存储管理-文件管理-计算机网络(中

只有后面没有在使用的才能进行替换,比如3后面的0和2都是马上需要访问到的所以不能换,1排在最后面优先把1替换掉把1换走把3换进来。逻辑块是5我们直接求他的最后一块是多少,第一块是5一共要装256块因为第一块已经装上了那就是256-1减去第一块。接口就是往前推算,从3这个内存块开始,最近使用过8,1,2就不能把他们换走,往前看最久一次使用的是7所以先把7给换走。访问到0的时候0是有的不需要置换,当访问到33在里面没有所以需要置换进去。只要在内存块中没有的都是缺页面的,比如内存块701一直到2才是没有缺页的。

2023-09-23 02:06:23 601

原创 软考软件设计师-计算机组成与体系结构(上

根据前驱图画出六个进程中是v先操作还是p先操作。例如先执行a然后在释放执行b。然后在P2中 S2执行前要先保证a先执行完成了P(a)先把a给锁定住,等a执行完成后在执行s2,执行后又释放Vc和Vd【【2023软件设计师备考】软考中级 | 软件设计师考点理论精讲【零基础适用】】 【精准空降到 41:49】

2023-09-20 17:54:46 1961

芒果网络验证网页一键加密加壳系统全套源码加密exe和dll

加密dll和exe包含源码加壳端和管理端可二次开发

2021-07-12

Linux hadoop,hive,javajdk,mysql数据库等压缩包

Linux 搭建Hive链接mysql教程 适用搭建hadoop,配置环境使用

2022-01-04

tesseract-ocr安装包和中文语言包.zip

tesseract-ocr安装包和中文压缩包

2021-12-20

wechat_devtools_1.03.2007151_x64.exe

微信小程序开发工具

2021-11-24

python浏览器爬虫xpat插件

更方便在浏览器调试

2021-11-01

python浏览器爬虫xpat插件

更方便在浏览器调试

2021-11-01

空空如也

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

TA关注的人

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