自定义博客皮肤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)
  • 资源 (2)
  • 收藏
  • 关注

原创 数据结构与算法 基础排序

排序是算法的基础目录基础排序选择排序插入排序希尔排序基础排序选择排序首先,找到数组中最小的那个元素 其次,将它和数组的第一个元素交换位置(如果第一个元素就是最小元素那么它就和自己交换) 再次,在剩下的元素中找到最小的元素,将它与数组的第二个元素交换位置。如此往复,直到将整个数组排序。这种方法叫做选择排序,因为它在不断地选择剩余元素之中的最小者。插入排序人们...

2019-03-28 14:59:05 108

原创 RocketMQ主从同步

Slave和Master同步的内容不仅仅是消息本身,一些元数据信息也需要同步,如TopicConfig信息,ConsumerOffset信息,DelayOffset和SubscriptionGroupConfig信息。元数据和前面所说的commitLog不同,元数据使用Netty的command方式定时同步的,而CommitLog则是用Java Nio的方式实现...

2019-03-27 21:05:21 516

原创 RocketMQ消息权重

系统资源有限,避免不了的就是资源分配,像Dubbo等RPC框架对服务分配权重,线程也有权重的概念。但是MQ是队列是FIFO特征,消息本身无法设置优先级,于是RocketMQ采用了另一种思路解决了。后续举例描述。...

2019-03-27 19:06:01 725

原创 RocketMQ弹性HA

分布式中间件的一个特点就是要支持弹性扩容缩容之类的。下面做一些介绍:NameServerBroker

2019-03-27 18:48:49 263

原创 RocketMQ进阶技巧

上面已经了解到了RocketMQ的特性以及高可用方式,RocketMQ由于零拷贝和顺序写的加持,和kafka很类似的原理使得吞吐量非常高。后续讲述一下RocketMQ的使用技巧和场景。场景一:顺序消息的场景。比方说涉及到订单事务等 消息顺序不能保证的本质是并行和并发,那么把并行的操作改为串行的话,就很好实现了。 技巧:在于读和写队列个数设置都为1,并且生产者消费者的并发设置也是...

2019-03-27 18:35:32 296

原创 RocketMQ基础概念之Broker

Broker是RocketMQ的核心,大部分工作都在Broker中完成,包括接收请求,处理消费,消费持久,消息的HA,以及服务端过滤等都在里面完成消息的存储和发送 因为有HA,所以需要磁盘持久化 磁盘使用的好坏,可以突破网络的瓶颈 MappedByteBuffer,基于零拷贝技术,由内核态直接往网卡上发送数据,避免了用户态的复制存储结构 ConsumeQueu...

2019-03-27 14:43:23 12125

原创 RocketMQ

上面大概是RocketMQ的架构图,使用的时候先启动NameServer服务,然后启动Broker服务。

2019-03-27 11:15:32 130

原创 4.Redis基础数据结构之SkipList

SkipList是一个高效的查询插入数据结构skiplist有序数据结构查找平均O(logN),最坏O(N).效率大部分情况下和平衡二叉树媲美.并且实现简单.使用场景:sortedSet 集群节点中作为内部数据结构...

2019-03-26 21:24:06 101

原创 3.Redis基础数据结构之Map

Map是较为常见的数据类型

2019-03-26 21:23:31 509 1

原创 2.Redis基础数据结构之链表

链表也是很重要的数据类型链表的特性,高效的节点重排,顺序性的节点访问,灵活增删节点链表的使用场景:List的value. 发布与订阅. 慢查询. 监视器等. Redis服务端采用链表保存客户端状态信息 用链表来构建客户端输出缓冲区.Redis的链表为普通的双向无环链表head tail len dup->复制链表节点所保存的值 free->释放链表节点...

2019-03-26 21:23:02 170

原创 1.Redis基础数据结构之字符串

String类型是比较基本的类型String做了改进->动态字符串KVPair均是SDS对象列表内部的字符串也是SDS对象此外SDS还被用作buffer,AOF中的AOF缓冲区,客户端状态中的输入缓冲区.SDS结构:len,字符串的长度 free,闲置空间长度 buf[],字符串本身.优点O(1)复杂度获取长度 因为记录长度避免了拼接String缓冲区溢出 减少...

2019-03-26 21:22:20 102

原创 Redis的线程模型

Redis为什么这么快?很大原因上是因为Redis是一个事件驱动的服务端Redis是一个事件驱动程序,服务器需要处理两类事件:文件事件:Reactor模式,file event handler,使用IO多路复用同时监听多个socket请求,然后分发给不同的事件处理器 监听的accept,read,write,close操作都对应的文件事件就会...

2019-03-26 17:27:58 165

原创 Redis的持久化方式

Redis主要有两种持久化方式:RDB持久化AOF持久化下面简要描述下:

2019-03-26 17:24:59 89

原创 Redis多机数据库实现

多机实现主要是以下三个策略:复制哨兵集群

2019-03-26 17:23:30 188

原创 线程池学习

ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, ...

2019-03-19 20:01:30 175

原创 分布式

分布式系统 三个指标: 数据一致性 系统可用性 扩展性数据一致性,是希望分布式系统只读到最新的数据系统可用性,是指能否持续提供服务扩展性,是在各个节点联通的情况下扩展机器性能...

2019-03-16 16:45:03 93

原创 Lock锁相关以及AQS

Lock锁的使用 Lock lock = new ReentrantLock(); lock.lock(); try { // TODO } finally { lock.unlock(); }这边锁的核心在于AQS(AbstractQueuedSynchronizer抽象队列同步器)AQS基本方法private volatile...

2019-03-14 11:08:57 123

原创 滑动窗口

①初始态,发送方没有帧发出,发送窗口前后沿相重合。接收方0号窗口打开,等待接收0号帧;②发送方打开0号窗口,表示已发出0帧但尚确认返回信息。此时接收窗口状态不变;③发送方打开0、1号窗口,表示0、1号帧均在等待确认之列。至此,发送方打开的窗口数已达规定限度,在未收到新的确认返回帧之前,发送方将暂停发送新的数据帧。接收窗口此时状态仍未变;④接收方已收到0号帧,0号窗口关闭,1号窗口打开,...

2019-03-01 13:35:01 125

matlab教程

matlab教程,里面有图片也有我word文档,也有ppt可以学习

2014-05-23

免疫算法matlab代码

还不错的算法,可以借鉴和学习一下。可以运行

2014-05-23

空空如也

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

TA关注的人

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