自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

朱小厮的博客

你若盛开 蝴蝶自来 你若精彩 天自安排

  • 博客(10)
  • 资源 (12)
  • 论坛 (2)
  • 收藏
  • 关注

原创 [Conclusion]RabbitMQ-客户端源码之总结

RabbitMQ遵从的是AMQP协议,其broker端代码采用erlang编写,对于没有接触过erlang的同学(包括博主我)来说,想要了解其中的奥秘实在是不容易,大多只能从网上“搜刮”点散碎的知识点来充实一下。但是这样是不能究其然,更不能究其所以然。博主这里翻阅了amqp-client的java客户端的源码,通过其来学习下AMQP协议,进而更深刻的了解RabbitMQ. 注:如无特殊说明...

2017-04-17 19:19:18 5453

原创 [九]RabbitMQ-客户端源码之Consumer

在[八]RabbitMQ-客户端源码之ChannelN中讲述basicConsume的方法时设计到Consumer这个回调函数,Consumer其实是一个接口,真正实现它的是QueueingConsumer和DefaultConsumer,且DefaultConsumer是QueueingConsumer的父类,里面都是空方法。在用户使用时可以简单的采用QueueingConsumer或者采用De...

2017-04-17 19:15:46 8533 3

原创 [八]RabbitMQ-客户端源码之ChannelN

ChannelN是整个RabbitMQ客户端最核心的一个类了,其包含的功能点甚多,这里需要分类阐述。 首先来看看ChannelN的成员变量:private final Map<String, Consumer> _consumers = Collections.synchronizedMap(new HashMap<String, Consumer>());pr...

2017-04-17 19:11:02 4930 2

原创 [七]RabbitMQ-客户端源码之AMQPImpl+Method

AMQPImpl类包括AMQP接口(public class AMQImpl implements AMQP)主要囊括了AMQP协议中的通信帧的类别。这里以Connection.Start帧做一个例子。public static class Connection { public static final int INDEX = 10; public static c...

2017-04-17 19:07:22 1446

原创 [六]RabbitMQ-客户端源码之AMQCommand

AMQCommand是用来处理AMQ命令的,其包含了Method, Content Heaeder和Content Body. 下面是通过wireshark抓包的AMQP协议上图中的Basic.Publish命令就包含Method, Content header以及Content body。AMQCommand不是直接包含Method等成员变量的,而是通过CommandAssembl...

2017-04-17 19:02:04 1896 2

原创 [五]RabbitMQ-客户端源码之AMQChannel

AMQChannel是一个抽象类,是ChannelN的父类。其中包含唯一的抽象方法:/** * Protected API - called by nextCommand to check possibly handle an incoming Command before it is returned to the caller of nextCommand. If this meth...

2017-04-17 18:59:39 2504

原创 [四]RabbitMQ-客户端源码之Frame

Frame是指AMQP协议层面的通信帧(一个正式定义的连接数据包)。 我们来看下Frame类中的成员变量有哪些:/** Frame type code */public final int type;/** Frame channel number, 0-65535 */public final int channel;/** Frame payload bytes (for...

2017-04-17 18:57:27 2497

原创 [三]RabbitMQ-客户端源码之ChannelManager

关于ChannelManager,官方注解:Manages a set of channels, indexed by channel number (1.. _channelMax)。ChannelManager类的代码量不是很多,主要用来管理Channel的,channelNumber=0的除外,应为channelNumber=0是留给Connection的特殊的channelNumber...

2017-04-17 18:54:39 2256

原创 [二]RabbitMQ-客户端源码之AMQConnection

上一篇文章([一]RabbitMQ-客户端源码之ConnectionFactory)中阐述了conn.start()方法完成之后客户端就已经和broker建立了正常的连接,而这个Connection的关键就在于这个start()方法之内,下面我们来慢慢分析。首先来看看start()方法的源码,这个方法有点长,这里拆开来一一分析,首先是注释:/** * Start up the con...

2017-04-17 18:51:07 5280

原创 [一]RabbitMQ-客户端源码之ConnectionFactory

首先看一段amqp-client发送端的示例代码(展示出主要部分):ConnectionFactory factory = new ConnectionFactory();factory.setHost(ip);factory.setPort(5672);factory.setUsername("root");factory.setPassword("root");Connect...

2017-04-17 18:48:01 17633 4

序列化工具(Gson, Jackson, FastJson, ProtoBuf)

各种序列化工具类,包括Gson, Jackson, FastJson, ProtoBuf以及proto.exe,希望大家喜欢

2016-02-23

memcached安装包以及MemCachedClient

memcached, libevent, MemCachedClient

2016-04-06

测试对象大小的jar包

测试对象大小的jar包

2016-03-29

spring+activemq必备jar包

spring+activemq必备jar包:activeio-core-3.1.4.jar,activemq-all-5.13.2.jar,activemq-pool-5.13.2.jar,commons-pool2-2.4.2.jar

2016-04-15

cglib动态代理

cglib和asm搭配的jar,方便你使用动态代理

2016-03-25

memcached-session-manager

memcached-session-manager 以及kryo的jar包 完整版 经过实际检验

2016-04-06

jedis-2.1.0.jar

java操作redis的jar包

2016-04-11

zookeeper查看器

zookeeper查看器

2016-11-27

redis安装包-linux

redis的安装包 版本3.0.5 是linux版的

2016-04-11

HttpClient的jar包

commons-codec-1.6.jar commons-httpclient-3.1.jar

2016-03-31

Cglib两个jar包

cglib动态代理的jar包

2016-03-25

HttpClient的jar包 plus

之前的不给力

2016-03-31

朱小厮的留言板

发表于 2020-01-02 最后回复 2020-01-02

linux 程序如何解析shell中的#

发表于 2015-10-15 最后回复 2015-10-21

空空如也

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

TA关注的人 TA的粉丝

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