海军 海军
3年前
浅聊函数防抖与节流
防抖(debounce)所谓防抖,就是指触发事件后n秒后才执行函数,如果在n秒内又触发了事件,则会重新计算函数执行时间。防抖类型分为1.非立即执行版2.立即执行版3.合成版本防抖防抖应用场景登录、发短信等按钮避免用户点击太快,以致于发送了多次请求调整浏览器窗口大小时,resize次数过于频繁,造成计算过多,此时需要一次到
Wesley13 Wesley13
3年前
java实现23种设计模式之责任链模式
顾名思义,责任链模式(ChainofResponsibilityPattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依此类推。pa
Wesley13 Wesley13
3年前
java网络编程3
什么是NIONIO是相对有BIO而言的,就是非阻塞性IO。什么叫非阻塞性?我举一个简单的例子:比如,你客户端发送了一个字符串:niotest。考虑到网络底层的传输情况的复杂性,有可能,前一秒服端接受了nio几个字符,过了10ms,再接收到了test字符串。在BIO中,不会出现这个问题,是因为在调用read方法的时候,方
Centos7安装RabbitMQ详细教程 - 附带软件基本解释 - CSDN博客
MQ引言什么是MQMQ:messageQueue翻译为消息队列,通过典型的生产者和消费者模型不断向消息队列中生产消息,消费者不断从队列中获取消息。因为消息的生产和消费都是一部的,而且只关心消息的发送和接收,没有业务逻辑的侵入,轻松的实现了系统之间的解耦。别名是消息中间件,通过利用高效的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系
Stella981 Stella981
3年前
Postman学习(压力测试)
Postman下载安装后下面是在网上随便抓了一个请求地址来做演示,把请求地址填入地址栏,此请求为GET请求。点击Send发送请求,请求结果将会在下方显示出来。每次的请求历史数据,会被记录下来,但是经常使用的请求,还是保存一下,这么每次用的时候,选择就行了,及其方便。另外,最好创建一个账号,这样数据将会永久保存下来,不至于重装了系统或者换了台电脑数据都
Stella981 Stella981
3年前
Raft 基础
目录1.三个状态2.什么是任期3.节点之间的通信1\.三个状态Raft设计了3个状态,用于表示节点的状态,分别是跟随者,候选者,领导者。1.领导者:通常只有一个领导人,并且其他节点都是跟随者。2.跟随者:跟随者不会发送任何请求,只是简单的响应领导者或者候选人的请求,由领导人处理所有的客户端请
Stella981 Stella981
3年前
Redis消息队列和KafKa优劣对比
Redis作为消息队列升级为KafKa记录项目当中运营人员发送指定匹配用户(最高用户量几十万的级别)特定的消息,所以这块是确确实实需要使用专业级别的消息队列中间件的,但是可能由于当时开发的各种历史原因导致使用了Redis的队列结构来作为消息队里lpush,blpop等命令,项目开发进展到现在,用户量不断增大,包括不同的消息继承进来,包括举报反馈,小纸条
Stella981 Stella981
3年前
Linux RPS RFS
随着单核CPU速度已经达到极限,CPU向多核方向发展,要持续提高网络处理带宽,传统的提升硬件设备、智能处理(如GSO、TSO、UFO)处理办法已不足够。如何充分利用多核优势来进行并行处理提高网络处理速度就是RPS解决的课题。以一个具有8核CPU和一个NIC的,连接在网络中的主机来说,对于由该主机产生并通过NIC发送到网络中的数据,CPU核的并行性是自热而然
Wesley13 Wesley13
3年前
3.6 拥塞控制原理
3.6拥塞控制原理 3.6.1拥塞原因和代价1.情况1:两个发送方和一台具有无穷大缓存的路由器      两台主机A和B有一条连接,理想情况下,假如A和B都有无穷大的缓存,来自主机A和主机B的分组通过一台路由器,在一段容量为R的共享式输出链路上传输,路由器带有缓存,当速率超过输
Wesley13 Wesley13
3年前
JAVA中,序列化接口的作用
Java规定的内部机制,实现Serializable接口就行了,这个接口只是个标记性的接口,表示类的设计者已经允许这个类型的对象被序列化写入磁盘或通过网络发送,对于有保密要求的东西一般不实现这个接口防止无意间复制到jvm内存之外。如果一个类型的多数字段可以复制但个别字段不用复制(比如,它实际上是通过其它字段计算出来的),我们可以把它标记为