自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

大眼瞪斗鸡眼的博客

学习源码的过程中,记录 让自己更加深刻 理解更深

  • 博客(6)
  • 收藏
  • 关注

原创 Kafka——SocketServer分析

上文讲到Sender 线程把消息封装成 ClientRequest 之后放入 selector 的 send 字段在由其 poll 方法进行发送消息。那么在 KafkaServer 中则是通过 SocketServer 接受消息并且进行处理。并采用了 Reactor 模式现在我们来看一下 SocketServer 它的模型是一个 endpoint 绑定一个 Acceptor 对应多个 Proc...

2019-04-12 10:28:40 982

原创 Kafka——Sender 线程分析

对于 RecordAccumulator 的理解,当不断有新的消息被加入之后,使得它的 batch 满了或者说创建了新的 batch 那么它就会唤醒 sender 线程将消息进行逐一的发送。这是本人花了一些时间整理的 Sender 线程的 UML 图:整体的调用流程图中都有明确的注释,接下来逐一进行分析:首先我们来看一下 sender 类,它实现了 runnable 接口,执行单独死循环的...

2019-04-08 23:23:23 1192

原创 Kafka——RecordAccumulator 分析

准备 ing

2019-04-03 14:35:45 1566 1

原创 Kafka——kafkaProducer 分析

由于本人最近在学习 kafka,看了kafka 的源码解析以及厮大的深入理解 kafka 之后决定自己在源码 debug 更加深入的学习 kafka。先从 producer 看起:运行 zookeeper,kafka server, producer 之后。在控制台随意输入一条消息进行 debug。首先他会把消息封装成 ProducerRecord主要的6个参数:headers:可以...

2019-04-03 14:29:33 634

原创 Confluent jdbc connecct 源码解析

Source 的流程图在 findBestFor()方法里:会根据传入的 url 匹配对应的 dialect 这里采用了多态的模式取代了 if-else,还采用了score 的概念避免一个 url 可能会和多个 dialect 进行匹配。根据 score 最高的决定采用哪个 dialectdialect:一个数据库对应一个 dialect,是数据库的一些特有的规则。...

2019-03-25 10:56:28 306 1

翻译 虚拟机类加载----案例

从脉脉上看到一个问题运行结果:理由:在整个 JVM 运行过程中赋值只有在准备阶段和初始化阶段准备阶段:是分配内存并设置类变量初始值的阶段,所以此类中 test为 null,b 为0初始化阶段:执行类构造器(类构造器是编译器收集所有静态语句块和类变量的赋值语句按语句在源码中的顺序合并生成类构造器,对象的构造方法是(),类的构造方法是(),可以在堆栈信息中看到),因此执行的第一条静态变量的...

2019-03-15 16:05:10 131

空空如也

空空如也

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

TA关注的人

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