首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
大远哥
掘友等级
java开发
|
eleme骑手
热爱技术 微信:QY-20200419 欢迎交流
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
27
文章 27
沸点 0
赞
27
返回
|
搜索文章
赞
文章( 27 )
沸点( 0 )
SOFAJRaft 源码分析四(SPI机制、快照)
这篇文章我们来学习一下JRaft的SPI机制,以及快照的实现。对于SPI,在框架开发,尤其是模块设计中是非常必要的,他可以实现可插拔的业务逻辑,实现解藕。对于快照,其实就是raft对日志的优化,避免新节点加入后大量的网络和磁盘IO,并且可以节省磁盘空间,是非常必要的。接下来我们…
CompletableFuture使用场景和实现原理
CompletableFuture是jdk1.8引入的实现类。扩展了Future和CompletionStage,是一个可以在任务完成阶段触发一些操作Future。简单的来讲就是可以实现异步回调。 对于jdk1.5的Future,虽然提供了异步处理任务的能力,但是获取结果的方式…
ForkJoinPool实现原理(《A Java Fork/Join Framework》)
是一个可以并行执行任务的线程池。可以处理一个可递归划分的任务并获取结果(分而治之的思想,父任务等待子任务执行完成并组装结果)。因为是多线程去执行任务,可以充分利用多核,提高cpu的利用率。那么他如何做构建管理任务队列,多线程如何去处理任务,以及他的应用场景和性能瓶颈是什么?通过…
SOFAJRaft 源码分析三(状态机、线性一致性读)
今天来看一下jraft如何将日志写入到状态机,其实就是业务真正的存储工作。如果我们需要使用jraft,我们对这里的实现就需要足够的了解。然后还会介绍jraft的读取逻辑。 主要就是leader和follower将日志应用到状态机的过程。当然leader和follower应用的时…
网络传输协议kcp原理解析
对于游戏开发,尤其是MOBO(多人在线竞技)游戏,延迟是需要控制的。但是对于传统的TCP(网络友好,很棒),并不利于包的实时性传输,因为他的超时重传和拥塞控制都是网络友好,对于我们包的实时性,没有优势。所以一般都是需要基于UDP去实现一套自己的网络协议,保证包的实时,以及可靠。…
Vert.x的eventbus源码解读
这篇文章主要就是对vertx通信的一个源码分析。首先分析本地的实现,因为集群通信大部分基于本地实现。后面会介绍vertx集群的实现。 在初始化vertx实例的时候会对其进行初始化。 如果是集群方式,通过ClusteredEventBus创建,否则通过new EventBusIm…
SOFAJRaft 源码分析一(启动流程和节点变化)
前段时间接触了raft协议,唯一的感受就是易于理解。对于raft,在分布式领域还是有一片天地的。当然,光看算法不去工程化就是耍流氓,所以我专门拉了一下sofa团队的jraft代码。然后对其实现进行分析,一方面是为了提高自己的编码功底,一方面也是更加深入的理解。今天我们就先看看其…
个人成就
文章被点赞
145
文章被阅读
52,284
掘力值
1,321
关注了
0
关注者
54
收藏集
0
关注标签
7
加入于
2018-11-11