- 博客(33)
- 收藏
- 关注
原创 常用算法-桶排序
常用算法-桶排序:将待排序的序列按照规则分组,每一组采用快速排序、插入排序的方式进行排序,然后按照次序将所有元素合并,得到一个有序的序列。
2023-12-24 16:31:55 349
原创 常用算法-希尔排序
希尔排序:插入排序的升级版本,插入排序每次插入1个数字,希尔排序每次增量为2,将数组分为len/2,对各个小组进行插入排序,第二次增量为len/4,对各个小组进行插入排序,以此类推
2023-12-24 16:18:42 377
原创 常用算法-堆排序
常用算法-堆排序:构造一个大根堆,大根堆的顶端数为最大数,映射成数组,将首段位置与末端位置交换,剩余数组依次构建大根堆找出最大值
2023-12-24 15:44:32 358
原创 常用算法-快速排序
快速排序:选择第一个数为基数,两个游标分别指向数组的首元素i和尾元素j,游标j先向前移动,当游标j元素第一次小于基数,停下来,游标i元素向后移动,当游标i元素第一次大于基数,停下来,如果此时j>i则交换游标对应元素位置,如果j
2023-12-24 14:34:54 298
原创 常用算法-插入排序
常用算法-插入排序,第一个数字为排序基数,后边所有数字从前向后一次取出每一位数字,比排序数字小则插入到前边,比排序数字大则插入到后边
2023-12-24 13:55:45 376
原创 设计模式-责任链模式
设计模式-责任链模式:常用场景:不同的请求需要不同权限的对象来处理的情况优点:降低耦合度,将请求的发送者和接收者解耦。简化了对象,使得对象不需要知道链的结构。
2023-12-23 16:33:10 523
原创 设计模式-设计原则
设计模式的设计原则:开闭原则,抽象设计架构,实现扩展细节;类职责单一原则;不破坏类的原有继承体系;面向接口编程;接口精简单一;降低耦合:划分上类之间弱耦合,结构上类权限最小,设计上最好是不变的类,引用对象降到最低,尽量少用序列化
2023-12-23 09:58:50 431 1
原创 Redis原理与应用设计
Redis原理,多路复用,内存查询性能高。不丢失数据设计:AOF,RDB快照复制一份脚本到磁盘;高可用设计:主从复制,哨兵模式,集群模式;引出问题缓存穿透:设置空值,校验值;缓存并发:设置状态值,缓存雪崩:设置失效时间+随机数。
2023-12-21 09:45:13 396 1
原创 数据库设计方案(写多读少)
数据库设计方案原因写多读少,大量更新操作单机无法满足,按照业务分库,大量数据写入事务执行缓慢,Hash或者Range分片,分片采用聚合查询
2023-12-21 09:29:46 419 1
原创 数据库设计方案(读多写少)
数据库设计方案原因为数据库读多写少,采用从库读,主库写,引起主从库的数据不一致问题,根据主从库的复制原理采用方式同步复制、异步复制、半同步复制方式,主从库延迟可采用redis缓存解决,数据量不大的情况可以直接插入主库
2023-12-21 09:26:01 527 1
原创 NIO多路复用、Reactor模型
解决TCP链接两次阻塞式等待导致无法高并发处理客户端通信的方案,采用线程池创建多个socket处理,采用NIO多路复用轮询式处理、采用Reactor模型事件驱动式处理
2023-12-19 09:29:34 905 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人