自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据库详解

按数据结构划分BTree索引,MySQL中默认和最常用的索引类型,只有叶子节点存储value,非叶子节点只有指针和key哈希索引:类似键值对全文索引:RTree索引按底层存储方式划分聚簇索引:索引结构和数据存放在一起的索引,InnoDB中的主键索引就属于聚簇索引非聚簇索引:索引结构和树分开存放的索引主键索引:加速查询+列值唯一(不为NULL),表中只有一个普通索引:仅加速查询唯一索引:加速查询+列值唯一(可以为NULL)覆盖索引:一个索引包含所需查询的字段的值。

2024-03-25 10:13:14 544

原创 通过RabbitMq实现C端和B端的冗余双写

通过RabbitMq实现C端和B端的冗余双写背景:由于采用了分库分表设计,C端和B端的分库分表策略不同,C端通过库表位能够散列到不同的数据库。但是B端如何一次性查看自己账号下所有的短链?需求:B端能够一次性查询不同数据库表中的短链数据保证B端和C端数据的一致性确保操作的原子性拥有好的性能开销和容灾能力解决方案:如何让C端用户查询在B端插入数据库时,同时插入C端的数据库映射,并且C端的分库分表策略不采用库表位,而是通过accountNo和组Id保证插入的一致性利用Ra

2024-02-04 21:50:48 203

原创 堆排序实现、dubbo服务方搭建

堆排序实现大根堆核心思想:利用数组实现一个大根堆(完全二叉树,每棵子树的根节点是最大的)插入一个元素时,将它放到heapsize的位置(数组最后一位),接着不断地跟它的父节点比较,直到小于自己的父节点弹出一个元素时,将0位置的元素弹出,接着通过heapify调整大根堆,弹出后,将最后一个节点交换到0位置,接着0位置的节点不断下沉,直到小于自己的父节点利用小根堆优化迪杰斯特拉算法暴力递归。

2023-12-14 22:59:15 374

原创 学习小记2023/12/13

迪杰斯特拉算法、dubbo简介、SA项目实战

2023-12-13 22:25:28 838

原创 分布式技术--Zookeeper

观察者模式。

2023-11-22 21:51:53 37

原创 从零开始开发高并发商城系统之用户模块:用户登录

介绍了用户的登录业务,包括JWT解决方案,ThreadLocal类的介绍

2023-08-13 15:48:06 197

原创 从零开始搭建高并发商城之用户注册模块:项目整合邮箱

引入发送邮件依赖,邮箱配置验证码工具类,用于生成指定长度的随机验证码邮箱验证码服务Service,通过JavaMailSender类,构造一个Message对象,发送出去Controller。

2023-08-02 21:32:35 46

原创 从零开始搭建高并发商城系统:Redis存储图形验证码

可以将Redis分为核心集群和非核心集群。

2023-08-01 23:24:18 131

原创 业务学习:统一返回接口,全局异常处理,单元测试,图形验证码开发

RunWith(SpringJUnit4ClassRunner.class),让测试运行于Spring测试环 境,以便在测试开始的时候自动创建Spring的应用上下文。@RunWith(JUnit4.class)就是指用JUnit4来运行。@RunWith(Suite.class)的话就是一套测试集合。@RunWith就是一个运行器。

2023-07-31 22:33:57 96

原创 【微服务项目业务学习】SwaggerUI接口文档开发

/生成通用的响应信息,第一参数是请求类型。.globalRequestParameters(globalRequestParameters())//配置全局通用参数,在请求头中。.paths(PathSelectors.ant(“/api/**”))//该正则表达式路径下的请求都会被接口说明文档接收、首先需要用@EnableOpenApi注解Configuration类。.enable(true)//是否启用,测试中使用,正式上线后取消。.apiInfo(getApiInfo())//配置文档元信息。

2023-07-26 21:34:01 134

原创 【路漫漫其修远兮】7/23,JAVA并发编程

调用后进入等待状态TimeWAITING。将T2线程加入到T1线程,先执行T2。调用后进入阻塞状态WAITING。如果线程争用:升级为自旋锁。记录线程ID (偏向锁)10次以后升级为重量级锁。

2023-07-23 22:40:02 45

原创 【数据结构与算法】B树和B+树

define DEGREE 3 //深度,M的值为2*3=6,M可以理解为几叉树,存的值为M-1//存的数据//子节点数组指针int num;//拥有子节点int leaf;//是否是叶子节点,1是,0不是int t;//2*t表示阶数} btree;

2023-07-23 22:16:34 36

原创 【路漫漫其修远兮】7/21业务学习:Jmeter压测以及高并发异步优化(一)

主要讲了Jmeter压测工具的使用,以及如何提升高并发下的性能

2023-07-21 12:41:42 122

原创 【每日一题】归并排序迭代法

归并排序的迭代方法

2023-07-21 08:23:02 30

原创 【路漫漫其修远兮】7/20,业务学习:阿里云短信服务接入;Spring注解类的使用;八股学习:BeanFactory和FactoryBean区别

注意:将账号保存下来。

2023-07-20 22:48:57 75

原创 【路漫漫其修远兮】每日数据结构与算法:红黑树

/把红黑树的性质拎出来了typedef struct _rbtree_node { //不可复用//做业务#if 1#else//把红黑树的性质和业务分离了#endif} rbtree;红黑树通过左旋和右旋来保证稳定(黑高的稳定)

2023-07-19 21:51:55 45

原创 每日一题归并排序递归方法

双指针,分别指向两个数组的第一个元素,哪个小放到新的数组中,并将指针后移(O(n))//归并排序的时间复杂度为O(n*logn)

2023-07-18 08:17:51 30

原创 【路漫漫其修远兮】7/17学习日记:二叉树层序遍历;nacos接入服务;以及账号微服务注册功能需求分析

/思路:通过队列,队列每次入队一层的节点,再出队保存到list中,只要队列为空,就一直重复/*** }* }*/while (!

2023-07-17 23:16:35 63

空空如也

空空如也

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

TA关注的人

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