lock 与 synchronized的区别

阅读全文

JUC:CountDownLatch和CyclicBarrier的区别

阅读全文

kafka:事务原理

配置

Broker Config

broker端可以什么都不配置即可使用。

阅读全文

kafka:消费者rebalance简析

kafka一个主题的一个分区在同一个group中只能被一个消费者消费,如果不是同一个group中的消费者可以同时消费。为了实现这个功能kafka需要管理和分配group中的消费分区。这一大块功能属于coordinator。

阅读全文

kafka:生产者客户端发送逻辑简析

kafka可以分成3大块,kafka服务器端、生产者、消费者。生产者的逻辑较为简单,主要是对消息发送进行处理减少网络通信次数。

对于生产者我们要关注的就是它的线程模型或者说网络模型。

阅读全文

Netty解析二十八:Netty对象池Recycler

Netty对象缓存处处可见,通过继承Recycler类即可实现对象缓存。

阅读全文

Netty解析二十七:Netty内存分配PooledByteBufAllocator

在解析PoolArena和PoolByteBuf的过程中会发现有一个类频繁的出现:PooledByteBufAllocator。

PooledByteBufAllocator可以理解为内存分配的工厂类。

阅读全文

Netty解析二十六:Netty内存分配PooledByteBuf

在解析PoolChunk、PoolSubpage和PoolArena中会发现最终分配的内存和PooledByteBuf有密切的关系。

阅读全文

Netty解析二十五:Netty内存分配PoolArena

前面解析了PoolChunk、PoolSubpage和PoolChunkList的内容,接下来解析PoolArena。在之前解析的过程中可以发现PoolChunk、PoolSubpage和PoolChunkList都是被PoolArena管理着。

阅读全文

Netty解析二十四:Netty内存分配PoolChunkList

在PoolChunk类中会持有一个PoolChunkList对象,本篇解析一下PoolChunkList的功能。

阅读全文