
程序人生
文章平均质量分 58
KnightHONG
这个作者很懒,什么都没留下…
展开
-
如何做数据平滑迁移:双写方案
数据迁移数据迁移指的是将一批数据从同构存储系统(如MySQLA到MySQLB)或异构存储系统(如MySQL-MongoDB)间搬运迁移。最简单的数据迁移方式是通过脚本或定时任务将数据进行搬运,亦或是通过类似canal之类的工具进行数据同步。在线迁移:迁移应该是在线的迁移,也就是在迁移的同时还会有数据的写入数据一致性:数据应该保证完整性,也就是说在迁移之后需要保证新的库和旧的库的数据是一致的。转载 2024-03-06 23:52:46 · 986 阅读 · 0 评论 -
操作系统最核心的概念-进程(上)
为了让大家了解、掌握进程的相关知识,这个不管时面试或者平常工作中都需要接触的重头戏。洪爵以问答的方式把常见的、易错的、大家想知道的问题做个收集 + 解答。Q1:进程的重要性操作系统中最核心的概念是进程。进程是对正在运行程序的一个抽象,操作系统其他的所有内容都是围绕着进程的概念展开的。Q2:为什么我能在同一时间操作多个应用(进程)?大家可能无意识的发现,现代的计算机经常能在同一个时间里做很多事情。我们举一个例子,假设服务器可使用的CPU只有一个,当客户端发起请求,需要读取某个数据时,服务器接收了请求,原创 2022-05-03 01:01:37 · 712 阅读 · 0 评论 -
发现教课书中错误,谢希仁给我亲笔签名
今天收到出版社给我发的《计算机网络》第八版,这本书也是我大学期间上计算机网络使用的教科书,洪爵在今年七月份写有关于TCP方面的文章时,参考了我的教科书,细看之下,发现里面存在一些自相矛盾的地方,于是联系了出版社,出版社联系了谢希仁老师,最后决定在第八版进行改进,并且谢希仁老师答应给我它的亲笔签名。我是不是可以回学校找到我的计算机网络老师,让他给我重新打个分?不多,100就好了。愿每个人都能带着怀疑的态度去阅读文章并探究其中原理。道阻且长,往事作序,来日为章。期待我们下一次相遇!...原创 2021-12-04 21:01:16 · 2641 阅读 · 1 评论 -
太上老君的“三色标记法”
垃圾回收首先要知道到底哪些对象是已经死亡、可以被回收,当前主流的编程语言的垃圾收集器基本都基于可达性分析算法来判断一个对象是否可以被GC。可达性分析算法要求全过程都基于一个能保障一致性的快照中进行,也就是必须冻结正在运行的用户线程。 那么问题来了,为什么可达性分析算法在运行时,需要一个能保障一致性的快照?如果可达性分析算法运行的线程和用户的线程并发执行,会出现什么问题?这个停顿的时间能不能减少? 想要解决这些疑问,不得不深入了解下,可达性分析算法底层到底如何运作的,它是如何标记出哪些对象是存活的原创 2021-11-26 01:22:32 · 3157 阅读 · 0 评论 -
面试官:如何判定一个对象是否存活?
在进行垃圾回收之前,第一件要做的事情就是要判断哪些对象还存活着,以便于回收非存活状态的对象。那如何去判断一个对象是否存活呢? 本文带领大家深入探究两种算法,再也不需要应付面试了,深入了解底层逻辑后,你将完全掌握如何判定对象是否存活。引用计数算法 每一个对象都会添加一个引用计数器,当有一个地方引用它时,该对象的引用计数器就加1,当不引用的时候,该计数器减1,当计数器为0的时候,就代表该对象不可能再被使用。String str = new String("this is a string");原创 2021-11-21 12:33:47 · 825 阅读 · 0 评论 -
大厂面试选拔最后的拉分题:垃圾回收算法
秋招落入尾声,春招正在向广大校招程序猿们招手,对很多准备跳槽的在职人员来说,金三银四也是快到了,是时候补一下垃圾回收算法了。垃圾回收算法几乎是大厂筛人的利器,稍微有点答不好就直接给pass了,所以基本功很重要,洪爵本期带领大家一起学习面试最常问到的:标记-清除算法、标记-复制算法和标记-整理算法。标记-清除算法 标记清除算法作为最早出现的垃圾回收算法之一,许多后续出现的GC算法都会和它做比较。标记清除顾名思义,先标记再清除。首先给所有需要回收的对象打上标记,第二步回收所有打上标记的对象;或原创 2021-11-20 20:31:48 · 869 阅读 · 2 评论 -
趣讲消息队列,搞懂消息队列到底是个啥
今天想谈谈消息队列,洪爵大概可以猜测到大家听到消息队列有什么反应,大致可以分为以下几类人。 第一类人,懵懵懂懂,刚大学接触编程,还没使用过消息队列,甚至以为消息队列就是代码里面去new一个List之类的;第二类人,听过消息队列,了解过消息队列,但具体是什么还不太了解,只知道一说到消息队列,立马脑中就出现三组词语,削峰、异步、解耦;第三类人,使用过消息队列,对它有一定的认识,但不知道为什么要这样设计,消息队列有怎样的前世今生,如何演变到现在这个模样?**第四类人,已经足够了解消息队列了,看本篇文章就是原创 2021-11-05 20:03:56 · 337 阅读 · 4 评论 -
B站最全面的雪花算法出炉了
分布式唯一Id之“雪花算法”文章版本:《分布式唯一ID之"雪花算法"》分布式唯一Id之“雪花算法”视频版本:https://www.bilibili.com/video/BV1q3411k7Nc/B站搜索Knight洪爵,更多前沿知识点,助你全面提升自我!...原创 2021-10-31 03:56:37 · 231 阅读 · 0 评论 -
分布式Id生成策略
哈喽,大家好,上一篇文章洪爵详细讲解了雪花算法,但其实还有其他的分布式Id生成方式,洪爵这里做一个简单的介绍,如果有需要讲详细的,可以私信洪爵哦。1、UUID: 其中一个是比较常见的UUID(Universally Unique Identifier),它有着全球的唯一性,因为生成的Id里是携带了些硬件信息,比如MAC地址等。虽然唯一性很高,并且生成较为简单,但它有个缺点,一个是说它是字符串,并且字符串长度较大,存储和查询的性能不高,第二个是说它不具备主键Id自增的能力。public class原创 2021-10-25 23:21:11 · 251 阅读 · 0 评论 -
分布式唯一ID之“雪花算法“
雪花算法是啥?它和分布式唯一ID有什么关系?为什么需要分布式ID?不要着急哈,等洪爵和你一一道来。 首先说下什么是分布式唯一ID,随着互联网的发展,服务化的演进,我们的单体服务已经不能满足时代的需求,业务上的一张表数据量也越来越大,大大的降低了查询、插入效率。单库单表已经不能支撑现有业务了,这个时候就出现了主从同步,写库和读库通过主从同步进行读写分离。 但读库和写库在表结构上,还是同样的数据,只是分开了查询和写操作的压力,不能从根本上解决问题,表的数据量依然很大,这时候就需要对数据库进行分库分原创 2021-10-24 13:10:53 · 844 阅读 · 0 评论 -
适配器模式,据说世界上至少存在一个完全适配你灵魂的人
终于来到了这一天,最后一篇设计模式啦,虽然是最后一篇,但设计模式的运用永无止境! 据说每个人生下来都只是一半,而这个世界上至少会存在那么一个人,它与你的灵魂完全契合完全互补,就像散落在各处的钥匙,总能找到一扇门可以打开… …没错就是我们今天要讲的适配器模式啦! 什么是适配器模式,运用在什么场景,有什么优缺点?三大种类设计模式中,结构型模式、创建型模式、行为型模式它属于哪一类? 适配器模式是作为两个不兼容接口之间的桥梁,这种设计模式属于结构型模式,这类模式更关注类和对象之间的结合。 当你需原创 2021-10-16 20:49:27 · 176 阅读 · 0 评论 -
外观模式,女孩子的择偶标准!
大家周末好呀!今天想和大家谈一下女孩子!哦不是,外观模式。 啥是外观模式捏?它能干啥捏?有啥优缺点呢? 我们知道设计模式分为三大类,一类是创建型模式,第二类是结构型模式,最后一类是行为型模式。那外观模式是属于哪一种呢?听我细细道来。 外观模式是一种隐藏系统的复杂性,提供给客户端一个可以访问系统接口的设计模式。主要解决访问复杂系统内部子系统时的复杂度,客户端不需要知道服务端到底内部结构复杂与否,整个系统只需要提供给一个接待员即可,即像我们服务端提供给前端的接口一般。实现了客户端与系统的解耦,外原创 2021-10-16 13:27:45 · 182 阅读 · 0 评论 -
状态模式,懂你的另一半
Hello,大家好呀!今天洪爵带给大家的是状态模式,一个懂你的另一半! 为什么这么说呢?听洪爵给你介绍。 什么是状态模式?它有什么用,适合什么场景,有哪些优缺点? 状态模式是一种类的行为基于它的状态改变而改变的模式,它属于一种行为型模式,这种模式更关注与对象之间的通信。当你需要因为行为随着状态改变的场景,比如说各种条件语句,分支语句等等,都可以用状态模式来代替。 那我能写个if-else,我干嘛要用状态模式?状态模式一个是说封装性好,隐藏了底层逻辑,第二个是整体的代码结构非常的整洁,可维原创 2021-10-14 01:06:27 · 163 阅读 · 0 评论 -
中介者模式,终结者的缔造者!
今天想和大家讨论下中介者模式,中介者模式是啥捏?设计模式有三大类,一类是创建型模式,第二类是行为型模式,最后一类是结构型模式,中介者模式属于哪一种呢?看完本篇文章,你就懂啦! 那什么是中介者模式,它适合什么场景,如何实现,有哪些优缺点?听洪爵一一道来。 中介者模式是用来降低对象和对象之间通信的复杂性,提供一个中介类来给大家进行交互。啥意思?最初的时候,人们想要以物换物,都是通过点对点的进行交易,比如说A今天找到B,想用一个牛头换一个B的羊头。慢慢的,随着时代的进步,逐步演化成了一个固定地方进行交原创 2021-10-12 00:58:16 · 245 阅读 · 0 评论 -
人生短短几十载,眼一睁一闭,已过半生
生命是什么,为什么会有生命?生命是宇宙对自我认知的需要吗? 每当抬头仰望星空,总是惊叹银河的壮阔,叹息我所处地的渺小,会不断抛出十万个为什么,为什么会有宇宙,宇宙是什么,怎么形成,宇宙之外是什么,进而思考到为什么物质一定是以这种形式存在,细思觉得只有被制造出来,一切才会有形,才有道理可以说得通。 有的人可能听不太懂,我举个例子,你会去思考为什么会有沙子,会有石头吗,你可能觉得一切都是再正常不过了,因为都是我们随处可见的材料。但如果你生活在一个原本满地是锤子的世界,你也会觉得这地上就应该是满地的锤子。原创 2021-10-11 00:42:40 · 227 阅读 · 0 评论 -
解释器模式,女朋友给男朋友的一个机会!
**请注意!请注意!!!**今天讲给大家讲解非常“有用”的设计模式,解释器模式!!! 设计模式有三大种类,一种是创建型模式,一种是结构型模式,最后一种是行为性模式,那么解释器模式属于哪一种呢?带领大家一起来了解学习解释器模式! 本次介绍围绕着以下五点展开。什么是解释器模式?用来做什么?怎么做?有哪些优点?有哪些不足? 解释器模式顾名思义,就是用来定义和解释。 给定一种特定语言,这个语言有特定的文法,解释器可以解释这个语言中的句子含义。即解释器提供一种语言,如java,同时它也提供一种手段原创 2021-10-10 22:27:47 · 309 阅读 · 0 评论 -
访问者模式,见到你想见到的人
今天洪爵想和大家一起学习访问者模式,学习完这篇文章,或许你就知道该如何去合理的访问你想要访问的人、事、物了。 设计模式一共有三种模式,第一种创建型模式,第二种行为型模式,最后一种结构型模式。 那么访问者模式属于哪一种类型呢?我们先来简单介绍下访问者模式。听完你或许就知道它到底属于哪一种模式。 访问者模式,顾名思义,提供一种数据结构与数据操作分离开的模式。实现数据结构和操作的解耦。当我们需要对一个对象进行很多不相关的操作,但不想让这些操作“污染”到这些对象时,提供一个访问者对象来封装这些操作。原创 2021-10-06 15:34:36 · 207 阅读 · 0 评论 -
备忘录模式,徐长卿的三世记忆
今天洪爵想和大家一起学习备忘录模式! 设计模式分为三大种类,一种是创建型模式、另一种是结构性模式、最后一种是行为型模式。那么备忘录模式是属于哪一种呢? 先简单的介绍下备忘录模式,故名意思,就是用来保存某些信息的,比如说保存某个对象的状态,在适当的时候进行恢复,既然加上了模式二字,那么它在设计上,肯定拥有着比较好的结构。 在不破坏封装性的前提下,获取对象内部的状态,使用另外一个对象去保存该对象的状态,类的职责单一。 备忘录模式有什么用呢?其实我们上网的过程中就经常能遇到,比如说浏览网页想回原创 2021-10-05 11:47:41 · 173 阅读 · 0 评论 -
迭代器模式,乱披风锤法,九九八十一锤!
迭代器模式几乎可以说是最常用的设计模式了,这种模式我们随处可见,用于顺序的访问对象的元素而不需要底层实现。迭代器模式属于行为性模式的一种,这类设计模式特别关注对象之间的通信。 常见的Iterator就是迭代器模式的一种,迭代器模式将存储数据和遍历数据的职责分离,但新增聚合类就需要增加对应的迭代器,在一定程度上增加了系统的复杂性。类图:具体代码实现:public interface Aggregate { Iterator iterator();}public interface原创 2021-10-04 13:45:42 · 161 阅读 · 0 评论 -
过滤器模式,获得元宇宙的一切事物
今天带给大家的是过滤器模式,这个模式通俗易懂,我们直切正题! 过滤器模式是一种结构型模式,这类模式更关注类和对象的组合。啥是过滤器模式呢,比如现在有一个动物类,这个动物类里面有猫、狗、狮子、猴子等等,那么你要怎么从里面过滤出狗的对象呢?你要怎么从里面过滤出即是公并且是狮子的对象呢? 我们称一种过滤条件为一种标准,基于各种标准去过滤出你想要的对象列表,这一系列动作通过代码的方式实现解耦,我们叫做过滤器模式。 现在举一个例子,现在有一个电脑类,这个电脑由很多零件组装而成,比如说cpu,内存条等等原创 2021-09-11 16:24:55 · 181 阅读 · 0 评论 -
装饰器模式,圣诞节的礼物
今天想带给大家的是装饰器模式,它属于结构型模式的一种,结构型模式更加关注类和对象的组合关系。 那么啥是装饰器模式呢?它有什么作用?用在什么场景? 装饰器模式允许对现有的对象添加新的功能,同时不会改变它的结构。这种扩展一个类的功能是动态的。其实很生动形象,装饰器,就比如你送一个礼物,你肯定会用礼盒把它包装起来,装饰器模式其实同理,在“礼物”的基础上,在外面包了一层。 装饰类和被装饰的类是解耦合的,可以独立的发展,适合用在需要拓展一个类的功能,并且可以使用不同装饰类进行排列组合实现不同的功能或效原创 2021-09-05 12:01:24 · 184 阅读 · 0 评论 -
空对象模式,冥想的最高境界!
大家好呀,今天也是设计模式冲冲冲! 今天带给大家的是空对象模式,纳尼?空对象模式是什么鬼? 空对象模式是行为型模式中的一种,行为型模式特别关注对象之间的通信。 空对象模式顾名思义,**使用一个空对象来取代对象为null的实例,并且可以提供在对象为null时的默认行为。**我们需要创建一个抽象类或者接口,然后两个具体的实现类,一个是空对象类,另一个则是正常实现的类。 光说可能很抽象,我们为什么要用空对象模式?它用在什么场景?连个场景都不举一个,简直就是在放pi,所以洪爵在这里给大家举一个栗原创 2021-09-03 20:46:04 · 246 阅读 · 0 评论 -
代理模式,你的全职保姆!
大家好呀,今天宇宙中写满四个大字,设计模式!大家一起在设计模式的海洋里遨游吧! 代理模式是结构型模式中的一种,啥是结构型模式捏?结构型模式更多关注的是类和对象之间的组合。 啥是代理模式捏? 比如说现在我想要访问B类,但是我不直接访问B类,我通过A类去访问B类来达到我想访问B类的目的。 很多人就在想,你nao餐吗?你直接访问B类不就好了,搞这些花里胡哨,俄罗斯套娃呢? 代理模式主要是提供对目标对象的另外访问方式,这样做有什么好处?可以在目标对象实现的基础上,增强额外的功能,拓展目标对象原创 2021-09-01 23:37:41 · 140 阅读 · 0 评论 -
《模板模式》被安排明明白白的人生
大家好,我是洪爵,今天打开手机浏览网页,满满都是设计模式。 模板模式,是属于设计模式中的行为性模式,该类设计模式特别关注对象之间的通信。 很多时候我们会发现,在设计一个通用系统的时候,我们已经知晓或总结出整个SOP流程,确定了每一个步骤的执行顺序,但是具体的步骤实现还不清楚,因为会根据业务场景的不同,具体的实现也会不同,但是整个流程已经是确定下来的了。比如说你要出行,选择的交通工具是飞机,那么整个过程肯定包含有三个步骤,第一个是buy()买票,第二个是开始旅程,第三个是结束旅程。但是具体实现可能原创 2021-08-29 09:57:07 · 131 阅读 · 0 评论 -
《策略模式》实现多种营销玩法的基石
大家好呀,今天阴云密布,杭州闪过3816次闪电,仔细一看,原来组成四个大字:设计模式! 今天又是设计模式的一天,洪爵今天想讲的是策略模式呀。 策略模式是一种行为性模式,这类的设计模式特别关注对象之间的通信。 什么是策略模式,啥时候用策略模式? 比如说,当你做一个计算的时候,你可能使用到,加法,减法,乘法或者除法,那么说到底,加减乘除本身就是一种算法,算法本身只是一种策略;当你要出行,步行、自行车、高铁、飞机等都是出行方式的一种,本身也是一种策略。 当有这样类似的算法,我们就把这些算法原创 2021-08-28 11:11:42 · 169 阅读 · 0 评论 -
命令模式,升级版的灭霸响指
大家好,我是洪爵,你看天上的星星,是不是排列组合成四个大字:设计模式。 今天给大家讲的是命令模式,命令模式是一种行为性模式,行为性模式特别关注对象之间的通信。 那么命令模式是干啥的,有什么用捏?话不多说,gogogo! 命令模式其实随处可见,比如当你按下了空调遥控器,空调就会去做对应的指令;比如我们输入java -version命令,那么如果你成功安装了java,那么它就会对你的命令做出回应,输出相应的版本号到屏幕,linux系统里面输入ls,cd,cat等等都是命令模式。 所以既然命令原创 2021-08-27 22:12:07 · 179 阅读 · 1 评论 -
原型模式,孙悟空都会用,猴毛变出的小猴子!
大家好呀,今天又又又是设计模式的一天!跟着洪爵轻松学完设计模式~ 今天要讲的是原型模式,大家可能都听过原型模式,因为在spring中你可以给bean配置成原型模式,或者是单例模式,如果是原型模式,那么每次去获取这个bean的时候,都会去生成一个新的对象。 原型模式,是一种创建型模式,它用在创建重复的对象的场景,并且保证它的性能。原型模式需要实现Cloneable接口,那么既然每次返回的都是一个新对象,那么我为什么不直接使用new呢?洪爵知道大家有这样的问题,所以也写有相关的文章,贴在了本篇文章的下方原创 2021-08-07 22:54:49 · 363 阅读 · 0 评论 -
组合模式,创造多元宇宙的桥梁!
组合模式,创造多元宇宙的桥梁! 大家好呀!抬头看,天空中满满写着四个大字,设计模式!今天又是设计模式的一天,今天要讲的是组合模式,创造多元宇宙的桥梁,是属于设计模式中的结构型模式。 不知道大家有没有想过**,文件系统结构是怎么设计的**,文件夹里既能放文件,也能放文件夹,然后里面的文件夹又能放文件和文件夹。如果说让你用代码的方式来实现这样一个结构,你会怎么设计呢? 许多办公软件都可以展示组织架构,比如说某组织的CEO直接管理数十员工,这数十员工里可能某员工A有自己直接管辖的人,员工A可能管辖了原创 2021-08-07 13:27:47 · 150 阅读 · 0 评论 -
抽象工厂模式,加工出不可思议的产品!
大家好,我是洪爵,今天又是设计模式的一天! 之前我们有谈论过工厂模式,那么抽象工厂模式又是什么呢?其实可以简单的概括:工厂模式,是工厂加工出对应的产品;而抽象工厂模式是专门生产工厂的,每个工厂又可以制造自己的产品(有点俄罗斯套娃)。 抽象工厂模式是属于创建型的模式,创建型模式即提供一种最佳的创建对象方式。 抽象工厂模式其实和工厂模式有点类似,我把文章都贴出来了。大家可以对照着看下,我理解大家理解了工厂模式,那么抽象工厂模式其实就是一个模子刻出来的东西。类图:我们创建出一个AbstractF原创 2021-08-01 12:20:01 · 157 阅读 · 0 评论 -
桥接模式,通往世界任何一个角落!
大家好鸭,我系洪爵。今天又是设计模式的一天。 洪爵想给大家讲一下桥接模式!桥接模式,通往世界的任何一个角落都必备的桥梁! 桥接模式属于结构型模式,结构型模式旨在关注类与对象的组合。 那么桥接模式能干什么呢?我们先来看一个场景: 这世界上有很多种语言:中文、俄罗斯语、德语……等等,我们抽象出一个语言类,然后让中文、俄罗斯语等去继承这个语言类进行拓展。这个时候,要具体到某人去说这个语言了,这里有两种解决方案,一种是通过继承的方式去实现: 我们会发现当需要具体到某一个人去说语言,就会产生原创 2021-07-31 13:31:33 · 136 阅读 · 0 评论 -
享元模式,世界如此简单!
大家好鸭!我是洪爵,又到了设计模式的时间啦~今天带给大家的是享元模式! 什么是享元模式捏? 首先,享元模式是一种结构型模式,那么啥是结构型模式?结构型模式更关注类和对象的组合。享元模式主要用于减少对象创建的数量,提高系统性能,减少内存消耗。那么它是怎么做的?享元模式旨在尝试重用现有的同类对象,如果找不到才创建。 享元模式也被广泛的应用在各个场景,比如说池技术,String常量池,数据库连接池,缓冲池等等。 那么享元模式它是怎么做到的呢?享元模式把其中共同的部分都抽象出来,如果有相同的需求,.原创 2021-07-27 23:49:42 · 142 阅读 · 0 评论 -
《观察者模式》之“当你凝望深渊时,深渊也在凝望你”
大家好,我是洪爵,今天想给大家讲一下设计模式中的行为型模式之观察者模式。 什么是行为型模式捏?行为型的设计模式是着重关注于对象之间的通信的。 观察者模式是什么捏? 相信大家或多或少已经接触过观察者模式了,不信?我来给你举个栗子。 比如你点开微博,小红书等等的这些信息流软件,注册之后会让你选择一些标签,让你订阅些感兴趣的标签或内容。这些就属于观察者模式,你点击之后会自动把你和这个标签关联起来,下次打了这个标签的内容就会推送给你,这就是发布-订阅。 同样的,我们还是先上代码,再来讲解,.原创 2021-07-25 23:07:12 · 296 阅读 · 0 评论 -
Java中克隆万物的Clone方法!
Hello,大家好,我是洪爵呀!今天想和大家聊一下Java的Object类中的Clone方法,它有什么用,我自己new一个不行吗? 不知道大家有没有用过这个方法,洪爵在面试的时候,经常被问到Object中有哪些方法?常常答不出来呀,因此苦恼,所以决定好好专研下Object里的方法,一个个抓出来! 我们先来看一下clone源码:public class Object { protected native Object clone() throws CloneNotSupportedExce.原创 2021-07-21 23:49:01 · 372 阅读 · 2 评论 -
搞懂建造者模式,世界都由你来建造!
大家好,洪爵又来啦,今天又是设计模式的一天! 洪爵今天想和大家聊一下建造者模式,建造者模式和工厂模式一样,是一种创建型模式,它提供了一种创建对象的方式。 当一个类的构造方法参数比较多,并且并不是每个参数都必须要填时,比较适合用建造者模式去创建对象。 我们列举一个场景,现在某个类有5个属性。public class Car { private String wheel; //need private String engine; //need原创 2021-07-19 23:41:07 · 150 阅读 · 0 评论 -
这么通俗易懂的责任链模式,你听过吗?
概念 责任链模式,听起来好像挺复杂的,但是其实都是生活中常见的一些东西。 今天洪爵来给大家形象生动的讲一下责任链模式。 现在要求输入一个字符串,不包含敏感词,长度在5-10字符之间,全中文… … 那么对于这样一个字符串,我们有很多需要过滤的信息。这个时候就要考虑用责任链了。 责任链模式是一个设计模式,在这个模式中,责任链可以看做是一个单链表,单链表中的每一个节点可以看成是一个对象,通过next指针指向它的下一个对象,从而形成的一条链结构。 比如说这条链中的第一个节点对象是负责检查传进原创 2021-07-13 00:43:59 · 246 阅读 · 1 评论 -
秀翻面试官的TCP如何实现可靠传输
TCP可靠传输是怎么实现的? 大家好,我是洪爵鸭~今天来讲一下TCP是如何保证可靠传输的。这也是面试常问的一个题目,这个问题不单止能看出你是否真的了解TCP原理,更看出你是否有一个总结的能力。 我们从三个部分来讲TCP是如何实现可靠传输的。 首先是讲TCP中的滑动窗口,它和TCP的可靠传输息息相关。TCP的滑动窗口是以字节为单位的,假设现在发送端收到了接收端发送过来的确认报文段,其中窗口值给予的是14字节,确认号为36(表明接收端期望收到下一个序号是36,35为止的数据都已经收到了)。根据接收端原创 2021-07-10 13:32:35 · 275 阅读 · 6 评论 -
膜拜!北师大研究生小姐姐竟然把Java面试官虐哭了?!最后还有一波考研干货分享!
最近洪爵也收到了很多私信,想让洪爵继续出面试系列的视频;也有小伙伴想让洪爵出一期有关考研的视频。为此洪爵花“重金”邀请到了一位名校研究生小姐姐来面试 + 考研分享,来帮助大家尽早找到自己心仪的工作,考上自己想要去的学校!链接奉上(不要忘记一键三连哦~):https://www.bilibili.com/video/BV11K4y1g7EG/(b站搜索Knight洪爵就可以看到啦)...原创 2021-07-03 21:14:59 · 206 阅读 · 0 评论 -
TCP是如何实现流量控制的?
洪爵上节给大家介绍了TCP报文段的首部格式:《面试必问的TCP,你真的回答对了吗?》,今天就给大家讲一下TCP的流量控制是如何实现的吧~可能很多人面试被问到过流量控制和拥塞控制的一个区别是什么,在回答这个问题之前,你肯定需要知道流量控制和拥塞控制到底是什么?首先说下,为什么需要流量控制。一般来说,我们总是希望数据是能传输的更快一些,但是如果发送方发送数据过快,可能会导致接收方来不及接收导致数据丢失。至于流量控制(flow control)就是让发送方的发送速率不要太快,让接收方来得及接收。接下来我原创 2021-06-30 18:36:28 · 2524 阅读 · 4 评论 -
字节面试竟然问到线段树,你还不会吗?看完你能彻底搞懂
某主面试字节研发岗位,惨遭面试官提问线段树。都1202年了,你还不会线段树吗?看洪爵文章 || 视频,如果还不会,请把我往si里打。链接奉上(不要忘记一键三连哦~):https://www.bilibili.com/video/BV1jU4y1V7SD/b站搜索Knight洪爵就可以看到啦...原创 2021-06-29 22:54:10 · 403 阅读 · 0 评论 -
简历上竟然写精通Java?!面试官狂问底层,最后他哭了!
公众号和b站粉丝也是越来越多啦~感谢大家的关注和喜爱!洪爵这次出了二期面试视频,如果反响不错,洪爵会继续出下去的呀!链接奉上(不要忘记一键三连哦~):https://www.bilibili.com/video/BV13K4y1g7Nh/(b站搜索Knight洪爵就可以看到啦)...原创 2021-06-27 00:18:09 · 258 阅读 · 0 评论