大脸猫Coding
码龄7年
关注
提问 私信
  • 博客:37,596
    动态:26
    37,622
    总访问量
  • 44
    原创
  • 486,390
    排名
  • 25
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:福建省
  • 加入CSDN时间: 2017-12-15
博客简介:

路遥知码力的博客

博客描述:
微信搜一搜:【路遥知码力】专注于Java、数据结构与算法,您的关注是前进的源泉!
查看详细资料
个人成就
  • 获得38次点赞
  • 内容获得8次评论
  • 获得96次收藏
创作历程
  • 17篇
    2021年
  • 22篇
    2020年
  • 5篇
    2018年
成就勋章
TA的专栏
  • MySQL
    4篇
  • 问题解决记录
    4篇
  • 设计模式
    2篇
  • 一起刷题
    1篇
  • Redis
    6篇
  • 数据结构
    5篇
  • Java基础
    15篇
  • Linux
    1篇
  • C/C++
    4篇
  • 计算机网络
    6篇
创作活动更多

2024 博客之星年度评选报名已开启

博主的专属年度盛宴,一年仅有一次!MAC mini、大疆无人机、华为手表等精美奖品等你来拿!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

【设计模式】装饰者模式?点过奶茶你就知道!

【设计模式】装饰器模式继承滥用是一个问题,我们如何使用对象组合的方式,来实现运行时装饰类。熟悉装饰器模式,可以在不修改底层代码的情况下,对对象赋予新的内容。1 场景1.1 需求描述奶茶店现在逐步都支持了线上点餐的方式,我们现在的目标就是实现一个简单的奶茶选择搭配生成对应搭配的类型选择结果与价格的一个功能。我们都知道点一杯奶茶的使用的订单系统,基本如下:(1)选择奶茶类型例如:乌龙奶茶(Wulong)、抹茶奶茶(Mocha)、可可奶茶(Keke)、招牌芋圆奶茶(yuyuan)。点击图片之后进入选
原创
发布博客 2021.10.10 ·
1073 阅读 ·
1 点赞 ·
0 评论 ·
15 收藏

【设计模式之 Observer Mode】什么是观察者模式?看过NBA直播你就知道了!

【设计模式】观察者模式1 场景一场湖人的NBA的主场球赛将会有多种方式在各个平台直播,有视频直播与文字比分直播。而各个平台需要获取NBA比赛分数的数据,将NBA球馆内的分数显示在各个官方直播平台的比分数据栏上。并且各个官方直播平台会依据基本的数据情况进行各自的展示。数据中心会依据比赛情况不断更新比赛数据对象。从数据中心获取数据并不是我们这次所关注的,我们关注的是如何将每次更新比赛数据对象的情况,同步给各个官方直播平台的方式。如何做到松耦合并且并且具备扩展性。2 场景实现很直观我们需要做的任务就
原创
发布博客 2021.10.04 ·
1412 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【一起刷题】优先队列PriorityQueue

优先队列PriorityQueue1 模板Queue<Integer> q = new PriorityQueue<Integer>(new Comparator<Integer>() { @Override public int compare(Integer o1, Integer o2) { return o1-o2; //小根堆 //retur
原创
发布博客 2021.04.22 ·
216 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【Redis数据结构与对象】整数集合(intset)

【Redis数据结构与对象】整数集合(intset)整数集合(intset)是集合键的底层实现之一,当一个集合只包含整数值元素,并且这个集合的元素数量不多,Redis就会使用整数集合作为集合键的底层实现。一、整数集合的实现整数集合(intset)是Redis用于保存整数值的集合抽象数据结构,可以保存的类型有int16_t、int32_t、int64_t的整数值,保证集合中不会出现重复元素。在intset.h/intset数据结构如下:typedef struct intset {
原创
发布博客 2021.04.22 ·
261 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【Redis数据结构与对象】跳跃表

【Redis数据结构与对象】跳跃表跳跃表是一种有序的数据结构,通过在每个结点中维持多个指向其他节点的指针,从而达到快速访问节点的目的。跳跃表支持平均O(logN)、最坏O(N)复杂度的结点查找,还可以通过顺序性操作在批量处理结点。在大部分情况下,跳跃表的效率可以和平衡树列斯,但是跳跃表的实现比平衡树更简单,所以很多程序使用了跳跃表来代替平衡树。Redis使用跳跃表来作为有序集合键的底层实现之一,如果一个有序集合包含的元素数量比较多,又或者有序集合中元素的成员(member)是比较长的字符串的时候,R
原创
发布博客 2021.04.22 ·
173 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【Redis数据结构与对象】字典

【Redis数据结构与对象】字典字典,又称为符号表(symbol table)、关联数组(associative array)或映射(map),是一种用于保存键值对(key-value pair)的抽象数据结构。字典中,一个键(key)可以和一个值(value)进行关联(或者将键映射为值),这种关联的键和值就称为键值对。Redis使用C语言没有内置字典因此Redis自己实现了字典。字典在Redis中使用广泛,例如Redis的数据库就是用字典作为底层实现,对数据库的增删改查都是构建在对字典的操作之上的
原创
发布博客 2021.04.22 ·
242 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【Redis数据结构与对象】Redis链表

【Redis数据结构与对象】链表1 链表功能链表提供了高效的节点重排能力,以及循序性的节点访问方式,并且可以通过增删节点来灵活地调整链表的长度。作为一种常用数据结构,链表内置在很多编程语言,Redis使用C语言没有内置链表数据结构,所以Redis构建了自己的链表实现。链表在Redis中应用广泛,例如列表键底层就是链表,列表键中包含了很多元素,或列表中包含的元素较长字符串,Redis会用链表作为列表键的底层实现(链表中每个节点保存一个整数值)。Redis中发布、订阅、慢查询、监视器等功能也用到链表,
原创
发布博客 2021.04.22 ·
158 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【Redis 数据结构与对象】简单动态字符串SDS源码分析

【Redis 数据结构与对象】简单动态字符串SDS源码分析上篇讲到了SDS的原理,本文我们分析一下sds.h/sdshdr。sds相关的源码实现。1 sds构造函数/** sds构造函数* 输入参数:初始化字符串init 初始化字符串长度initlen* 返回值:创建成功返回对应的sds对应的buf 失败返回NULL* 时间复杂度T=O(N)*/sds sdsnewlen(const void *init, size_t initlen) { struct sdshdr *sh
原创
发布博客 2021.04.22 ·
146 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【Redis 数据结构与对象】简单动态字符串SDS

【Redis 数据结构与对象】简单动态字符串SDS1、概述Redis没有直接使用C语言的传统字符串标识(以空字符结尾的字符数组),而是自己构建了一种简单动态字符串(simple dynamic string, SDS)的抽象类型,并且将SDS作为Redis的默认字符串。Redis中,C字符串只会用于保存字符串字面量,用于无需对字符串进行修改的地方,例如打印日志。redisLog(REDIS_WARNING, "Redis is now ready to exit....")当redis需要的不仅
原创
发布博客 2021.04.22 ·
165 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【MySQL】数据库建表策略与数据优化策略

【MySQL】数据库建表策略与数据优化策略一、选择优化的数据类型原则MySQL支持的数据类型很多,以下几个原则有助于类型选择:1、最小数据类型原则应该尽可能使用可以正确存储数据的最小类型数据。更小的数据通常更快,因为占用更小磁盘、内存、CPU缓存,CPU周期更少。但是要确保没有低估需要存储的值的范围,因为在schema中很多地方增加数据类型的范围是很耗时的操作。2、简单操作原则简单数据类型操作会使用更少的CPU周期,例如整形比字符操作的代价低,例如时间的存储上,是使用MySQL内置类型还是字符
原创
发布博客 2021.04.22 ·
420 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【MySQL】MySQL架构与基础概念(锁概念、事务)

【MySQL】MySQL架构与基础概念(锁概念、事务)1 MySQL架构最上层(客户端层):客户端调用MySQL存储服务第二层(服务器层:连接/线程处理、解析器、查询缓存、优化器):MySQL核心服务,包括查询解析、分析、优化、缓存以及内置函数(日期、时间、加密等等),跨存储引擎功能在此处实现:存储过程、触发器、视图等等。第三层(存储引擎层):负责MySQL的存储和提取。2 锁概念2.1、读写锁当多个客户并发的读取数据库或写的时候,会出现并发的问题。这是实现两种类型锁组成的锁系统解决问题。共
原创
发布博客 2021.04.22 ·
210 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

【MySQL】MySQL基准测试方法

【MySQL】MySQL基准测试方法基准测试(benchmark),是针对系统设计的一种压力测试。主要介绍MySQL与基于MySQL应用的基准测试的策略和工具。讨论MySQL基准测试工具sysbench的使用。TPS(每秒的事务数)1 基准测试的策略基准测试两种策略:一是针对整个系统的整体测试,二是单独测试MySQL。也被称为集成式(full-stack)以及单组件式(single-component)基准测试。采用方式一原因:(针对整个系统做集成测试,而不是单独测试MySQL)(1)测试整个
原创
发布博客 2021.04.22 ·
334 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【已解决】Source Insight 中文乱码解决方案

【已解决】Source Insight 中文乱码解决方案适用解决版本 Source InSight 4.0 中文注释出现乱码的情况。改变文件编码方式菜单栏 File ===> Reload As Encoding ===>显示出如下选择Chinese Simplified(GB18030)但是这里会发现,我们只对当前的文件设置了这个格式,如果开启其他文件就需要重新操作。所以我们需要对文件默认的解码方式进行设置。改变默认文件编码方式点击菜单栏Options ===> Pr
原创
发布博客 2021.03.22 ·
949 阅读 ·
1 点赞 ·
1 评论 ·
2 收藏

【已解决】Maven中maven中 maven-clean-plugin 有红色波浪线

【已解决】Maven中maven中 maven-clean-plugin 有红色波浪线【问题展示】Maven中包内Plugins中有红色波浪线:【解决方案】第一步:判断是Plugins中哪一个maven包我们只需要先判断是maven报中下面什么地方有红色波浪线。例如我这里是maven-clean-plugin为红色波浪线。第二步:找到Lifecycle中对应的包选项重新build我们对对应报错的maven 中 clean进行 run maven build得到了运行结果如下,说明bu
原创
发布博客 2021.03.17 ·
3487 阅读 ·
6 点赞 ·
3 评论 ·
6 收藏

MySQL数据库事务学习与实践(ACID;脏读、不可重复读、幻读;事务隔离级别)

MySQL数据库事务学习与实践一、什么是事务1、事务概念事务就是一组原子性的SQL查询,可以看做是一个独立的工作单元。2、事务核心事务的执行,数据库能够执行事务(一组sql语句的全部语句),那么就能够执行这一整组的查询。如果事务中有任何一条语句无法执行,则全部的语句都不会执行。事务内的语句,要么全部执行成功,要么全部执行失败。3、经典例子:银行转账两个人转账A向B转账200元,三个步骤:1、检查A账户余额大于等于200元2、从A账户减去200元3、B账户增加200元三个步骤的操作,必
原创
发布博客 2021.03.17 ·
1 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

MySQL数据库事务

MySQL数据库事务学习与实践一、什么是事务1、事务概念事务就是一组原子性的SQL查询,可以看做是一个独立的工作单元。2、事务核心事务的执行,数据库能够执行事务(一组sql语句的全部语句),那么就能够执行这一整组的查询。如果事务中有任何一条语句无法执行,则全部的语句都不会执行。事务内的语句,要么全部执行成功,要么全部执行失败。3、经典例子:银行转账两个人转账A向B转账200元,三个步骤:1、检查A账户余额大于等于200元2、从A账户减去200元3、B账户增加200元三个步骤的操作,必
原创
发布博客 2021.03.16 ·
455 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【已解决】Springboot服务 Netty启动报错Failed to submit a listener

【已解决】Springboot服务 Netty启动报错Failed to submit a listenerForce-closing a channel whose registration task was not accepted by an event loop: [id: 0xb77c8a77]2021-03-12 18:23:38.984 ERROR 13052 --- [ main] i.n.u.c.D.rejectedExecution :
原创
发布博客 2021.03.15 ·
5481 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

【已解决】IDEA中Maven的Dependencies包中有红波浪线解决方案

【已解决】IDEA中Maven项目红色波浪线解决方案在原来的项目中已经导入相关的包,但是报红色波浪线例如原来我在dependencies中报错的是这个包我们可以知道这个是在spring-boot-starter-test 依赖下的jar包【解决方案】第一步:确认自己是有这个包在Maven仓库路径下的。打开File-setting如果没有这个包则:刷新包路径会自动加载。则会将对应的包下载到路径中。第二步:我们知道了报错的依赖为spring-boot-starter-test 依赖下
原创
发布博客 2021.03.15 ·
2172 阅读 ·
7 点赞 ·
0 评论 ·
4 收藏

一起读Java编程思想(4)---多态怎么理解?什么是向下转型与向上转型?

多态只有非private的方法才能被覆盖,但是推荐在导出类当中对于基类中private的方法最好采用不同的名字。并且基类中private的方法子类中不可见,也不能被重载。只有普通方法的调用是多态的。域是没有多态性的(事实上一般被声明为private)。静态的方法也不具备多态性。class Super { public int field = 0; public int getField() { return field; }}class Sub extend
原创
发布博客 2020.10.07 ·
217 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

一起读Java编程思想(3)---继承、final关键字、复用类

复用类继承语法import static net.mindview.util.Print.*;class Cleanser { private String s = "Cleanser"; public void append(String a) { s += a; } public void dilute() { append(" dilute()"); } public void apply() {
原创
发布博客 2020.10.07 ·
205 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多