自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Netty入门学习

打个比喻,每个 Channel 是一个产品的加工车间,Pipeline 是车间中的流水线,ChannelHandler 就是流水线上的各道工序,而后面要讲的 ByteBuf 是原材料,经过很多工序的加工:先经过一道道入站工序,再经过一道道出站工序最终变成产品。如果事件轮询的持续时间大于等于 timeoutMillis,那么说明是正常的,否则表明阻塞时间并未达到预期,可能触发了空轮询的 Bug,则计数器+1,如果计数器超过阙值,则重建Selector并迁移所有其管理的channel。如果还是没有则创建对象。

2025-07-17 20:59:02 699

原创 Spring循环依赖终极理解(为什么要使用三级缓存)

Spring解决循环依赖需要使用三级缓存,但是常规的循环依赖解决只需要使用二级缓存就可以了,那为什么需要使用三级缓存呢?现在网上大部分的回答都是因为aop代理的存在,但是很少有人说其中的原理,那么接下来我就带大家细细道来。假设现在有A、B两个bean循环依赖,此外A需要被AOP代理三级缓存:创建A实例,将A的ObjectFactory存入三级缓存中,填充A的属性,发现有B。

2025-07-05 17:43:02 630

原创 分布式事务和seata入门

CAP、Base理论基本可用、软状态、最终一致。

2025-07-05 16:06:17 1186

原创 Spring--IOC容器的一些扩展属性

BeanFactoryPostProcessor的作用是在实例化前修改BeanDefinition的属性BeanPostProcessor的作用是在bean完成创建实例、填充属性之后,初始化阶段的前后都会对bean进行操作,使用postProcessBeforeInitialization和postProcessAfterInitialization。

2025-06-23 18:49:04 1158

原创 手写一个Spring:一、IOC容器

本文介绍了如何构建一个基于XML配置文件的简易IOC容器。首先通过Maven引入dom4j、servlet-api和lombok依赖,用于XML解析和代码简化。核心实现包括:1)读取XML配置文件获取bean定义;2)创建BeanDefinition保存bean信息;3)通过反射实例化bean并存储在容器中。测试案例验证了容器能成功注入并调用AServiceImpl实例。最后通过定义BeanFactory和Resource接口进行解耦,支持未来扩展。该容器实现了基础的依赖注入功能,为后续功能扩展奠定了基础。

2025-06-17 21:07:08 2633 1

原创 kafka入门学习

消息接收保证成功一次:原子操作加反馈消息接收保证不重复:不保证消息消费保证成功一次:原子操作加反馈消息消费保证不重复:交给redis或mysql。

2025-06-05 21:07:39 3243

原创 Redis解析

判断主节点故障 ——> 选举哨兵Leader ——> Leader选择新的主节点(优先级、复制量、id号) && 修改其他节点 && 通知客户端 && 监听原主节点。

2025-05-16 20:14:53 2724

原创 Redis数据结构

三种编码方式:int、embstr、raw。

2025-05-13 19:34:39 3284

原创 分布式ID和分布式锁

在分布式/分库分表的情况下,需要保证id的自增性和唯一性,所以需要使用分布式ID实现方式有。

2025-05-12 15:59:59 3227

原创 mysql分库分表

可以分为垂直分片和水平分片。

2025-05-10 18:02:18 3375

原创 mysql调优

例如: table A 20条数据, table B 30条数据在没有索引的情况下:匹配20。

2025-05-08 18:40:24 3736

原创 mysql索引和事务

IO Cost 表示引擎层 IO 的开销,MySQL 8.0 可以通过区分一张表的数据是否在内存中,分别计算读取内存 IO 开销以及读取磁盘 IO 的开销。CPU Cost 表示计算的开销,比如索引键值的比较、记录值的比较、结果集的排序……这些操作都在 Server 层完成;根据read view中的事务id和undolog中数据的版本事务id比较,最后得出可以读取的数据。优化器(CBO 基于成本的优化器)开销。图片来源:小林coding。默认的查询都是快照读,(,后续如果其他事务使用。

2025-05-06 19:07:17 4150

原创 Mysql中InnoDB的Buffer Pool(缓冲池)

简而言之就是为了减少读取磁盘,将数据存储在内存中,这块内存就叫做Buffer Pool。

2025-04-25 23:20:18 4119

原创 Mysql一行记录是如何存储的?

一个表空间有多个段构成,一个段由多个区构成,一个区由多个页构成,一个页由多个行构成,一个俄罗斯套娃结构。,所以cpu在读取的时候是从中间开始向两边读取,所以逆向存储可以保证先读到的记录对应前面的列。,在极端情况下,只有一个字段,需要2字节记录varchar的长度,此外null值列表0字节(存放可以为null的字段是否为null,0表示不为null,1表示null,,可以显示数据库的存储位置,打开之后可以看到表的文件,点进去之后可以看到。在之前的行数据中,由行数据的格式,加上。图片来源: 小林coding。

2025-04-25 17:38:04 4464

原创 回溯几类问题总结

对于回溯问题,虽然比较抽象,但是总体来说模板都差不多,比较经典的就是排列问题和组合问题,其中又可以细分为可以重复和不可以重复。

2025-04-22 14:51:21 4072

原创 复原IP地址

有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 ‘.’ 分隔。例如:“0.1.2.201” 和 “192.168.1.1” 是 有效 IP 地址,但是 “0.011.255.245”、“192.168.1.312” 和 “192.168@1.1” 是 无效 IP 地址。给定一个只包含数字的字符串 s ,用以表示一个 IP 地址,返回所有可能的有效 IP 地址,这些地址可以通过在 s 中插入 ‘.’ 来形成。

2025-04-21 15:18:43 1532

原创 组合 总数

给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。candidates 中的 同一个 数字可以 无限制重复被选取。如果至少一个数字的被选数量不同,则两种组合是不同的。对于给定的输入,保证和为 target 的不同组合数少于 150 个。

2025-04-20 12:31:59 1603

原创 leetcode第77题:组合

给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。你可以按 任何顺序 返回答案。

2025-04-19 15:22:13 1468

原创 把二叉搜索树转换为累加树

给出二叉 搜索 树的根节点,该树的节点值各不相同,请你将其转换为累加树(Greater Sum Tree),使每个节点 node 的新值等于原树中大于或等于 node.val 的值之和。

2025-04-18 18:02:17 1586

原创 将有序数组转换为二叉搜索树

给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 平衡 二叉搜索树。

2025-04-18 17:56:16 195

原创 修剪二叉搜索树

给你二叉搜索树的根节点 root ,同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树,使得所有节点的值在[low, high]中。修剪树 不应该 改变保留在树中的元素的相对结构 (即,如果没有被移除,原有的父代子代关系都应当保留)。可以证明,存在 唯一的答案。所以结果应当返回修剪好的二叉搜索树的新的根节点。注意,根节点可能会根据给定的边界发生改变。

2025-04-18 17:45:46 1636

原创 删除二叉搜索树中的节点

给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的 key 对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。

2025-04-18 11:32:24 1592

原创 springAI+deepseek+爬虫制作智能订票助手

前端也是网上的样板代码,可以网上搜索,详细可以在https://gitee.com/daiyuling/spring-ai-protal获取可以看到已经可以获取时间了。进行获取车票请求,可以看到获取车票成功了可以看到数据库也被正常添加了。

2025-04-16 23:32:39 4822

原创 二叉搜索树中的插入操作

给定二叉搜索树(BST)的根节点 root 和要插入树中的值 value ,将值插入二叉搜索树。返回插入后二叉搜索树的根节点。输入数据 保证 ,新值和原始二叉搜索树中的任意节点值都不同。

2025-04-16 11:11:59 198

原创 二叉搜索树的最近公共祖先

给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。

2025-04-16 10:57:43 133

原创 二叉树的最近公共祖先

给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。

2025-04-16 10:37:04 1525

原创 java求 1~n 的素数

素数就是在2~n-1的数中,能找到一个数能整除n,则n为素数。所以用两个循环遍历就可以得到素数了,外层循环用来遍历2~n,内层循环用来遍历2~n-1。但是在内层循环判断素数时,不需要从2~n-1一个一个判断,因为,一个数化成两个数的乘积的形式时,总会有其中一个数小于等于这个数的开方例如:16 = 2*8时,存在2小于等于4 24 = 3*8时,3小于Math.sqrt(24) 24 = 4*6时,4小于Math.sqrt(24)所...

2021-11-01 23:19:39 1726

车票信息sql,存储车票信息

车票信息sql,存储车票信息

2025-04-16

city的sql文件,city对应的名称和code

city的sql文件,city对应的名称和code

2025-04-16

空空如也

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

TA关注的人

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