- 博客(5)
- 资源 (6)
- 问答 (1)
- 收藏
- 关注
原创 Kafka的核心原理
本文主要以消息引擎的角度出发,介绍Kafka的设计原理,整篇文章分成四个大篇幅:一:Kafka消息格式以及演变过程,并且对消息的压缩也做了介绍二:Kafka实现消息传输的方式,包含了生产者和消费者如何建立连接,如果保障消息的传输的可靠性三:消息的保存方法,即Kafka是如何通过分区和副本机制来保证kafka的高可用四:消费者组以及重平衡问题即重平衡发生的过程,触发条件,以及可参考的解决方法
2021-07-31 19:52:56 821
原创 线程池使用与原理
Java线程池在设计的时候,是按照`生产者-消费者`的模式来设计的,整个过程遵循`Executor框架`,用`Runnable/Callable`来作为任务的抽象;用`Executor`接口作为任务执行的抽象,`Future`作为异步执行结果的抽象。在工程实践中,我们都推荐使用`ThreadPoolExecutor`的构造方法来创建线程k池,而不推荐`Executors`封装的方法去创建其他类型的线程池。`ThreadPoolExecutor`在创建线程时,一共有六个:* `corePoolSize
2021-07-29 20:29:57 201
原创 零拷贝技术的原理
`Copy-On-Write`本质上讲是一种**延迟复制**的思想,在执行读操作的时候,不进行复制,而只有真正执行写操作的时候才进行复制。它的应用也非常广泛,比如linux中的`fork()`方法,java中的`CopyOnWriteArrayList`。在使用时要注意其应用场景,因为其每次发生写操作都会复制新的空间,因此它天然适合**读多,写少的场景,并且能够忍受一定时间的读写不一致**。
2021-07-28 17:45:45 205
原创 零拷贝的原理
零拷贝技术,本质上讲就是通过减少非必要的内存拷贝以及上下文切换,来提高文件在通道间复制速度的一种技术。以本文中的`transferTo()`方法为例,通过该技术,可以将原来四次内存间拷贝减少成两次,将四次上下文切换减少成两次,大大提高复制的速度。但零拷贝技术并非万能的,它有自己的使用场景,对于将大量数据从一个 I/O 通道复制到另一个通道的情况(例如 Web 服务器),都是合适的。而对于磁盘文件间的复制,比如从一个磁盘位置复制到另一个磁盘位置,这种方式是不可用的。
2021-07-28 10:59:19 758
原创 skywalking agent插件开发过程中各种拦截点的写法
本文主要总结了自己写SkyWalking agent端插件的时候常用的匹配方法,并对每一个方法写了一个demo以供参考(所有demo均来自社区插件中的具体类),希望能给想开发SkyWalking插件的小伙伴以帮助。
2021-07-18 22:40:17 1726
支持IDEA中文输入的JRE环境
2020-09-28
编码规范认证.rar
2020-04-08
vim-galore-zh_cn.pdf
2020-04-08
求助!!!curl抓取网页出现浏览器不支持嵌入式框架,该如何解决
2016-04-01
TA创建的收藏夹 TA关注的收藏夹
TA关注的人