加载中
mybatis源码,从配置到 mappedStatement —— mapper.xml 是如何被解析的?

Ext1:本文源码解析基于 mybatis-spring-boot-starter 2.1.1,即 mybatis 3.5.3 版本。 Ext2:本文主要是对源码的讲解,着重点会是在源码上。 一、从 MybatisAutoConfiguration 说开去,map...

2019/12/25 15:57
2.1W
经典分布式算法 —— 浅显易懂的 Raft 算法实现

一、Raft概念 copy一下其他小伙伴写的文章: Raft算法详解 不同于Paxos算法直接从分布式一致性问题出发推导出来,Raft算法则是从多副本状态机的角度提出,用于管理多副本状态机的日志复制。R...

2019/04/11 20:30
7.3K
简单说说Kafka中的时间轮算法

零、时间轮定义 简单说说时间轮吧,它是一个高效的延时队列,或者说定时器。实际上现在网上对于时间轮算法的解释很多,定义也很全,这里引用一下朱小厮博客里出现的定义: 参考下图,Kafka中...

2018/10/25 17:26
12.2W
分布式事务柔性事务解决方案:可靠消息最终一致性(异步确保型) —— 三、生产者实战

建议简单看看上一篇文章再往下阅读 我们的项目就基于这个模型: 接下来就到了我们的实战时刻~ 项目基于spring cloud编写,没有spring cloud基础看起来可能有一点点费力。 准备阶段:定义可靠...

(下)容器能不能将 volume 挂载直接挂到根目录?—— Snapshotter 是如何工作的?

这件事起源于有小伙伴在某群里问,在 K8s 中,能不能把 volume 挂载直接挂到根目录?我的第一反应是不能。容器会使用 union filesystem 将容器的内容挂到根目录下,这点在正常情况下是无法更...

2023/03/22 22:05
609
K8s 核心组件 Reflector 源码剖析 (基于 Informer 的实现)

一、什么是 Reflector Reflector watches a specified resource and causes all changes to be reflected in the given store. K8s 对于 Reflector 的描述十分干练:Reflector 是监听某项资源...

2022/08/24 17:01
793
spring 详细事务源码解析 —— 事务怎么挂起的?传播等级怎么实现的?保存点、内嵌事务怎么做回滚和提交?

零、引言 spring 事务怎么挂起的?传播等级怎么实现的?保存点、内嵌事务怎么做回滚和提交?如果你对这些感兴趣,或者想要了解它的运行机制,则可以参考此文章 ~ 一、spring 事务大局纵览 上...

2020/01/10 09:19
3.7K
从源码角度剖析 Spring 如何管理 mybatis 事务的?

Ext1:本文源码解析基于 mybatis-spring-boot-starter 2.1.1,即 mybatis 3.5.3 版本。 Ext2:本文主要是对源码的讲解,着重点会是在源码上。 Ext3:阅读本文前,最好对 mapperProxy、 sqlS...

2020/01/06 14:19
1.8W
一步步动手实现简单的线程池 —— 生动有趣解析 Java 线程池源码

零、引子 某天小奈与小伙伴肥宅埋的日常技(cai)术(ji)研(hu)讨(zhuo)中聊起了线程池。 自诩十分熟悉并发编程的小奈马上侃侃而谈,“线程池帮助我们管理线程,减少线程频繁创建与销毁资源损耗...

2019/07/17 16:58
2K
【并发编程】 图文深入解析Java显式锁底层源码 —— 加解锁是如何实现的

一、了解 AbstractQueuedSynchronizer(AQS) 1、AQS 简介 AbstractQueuedSynchronizer 是大师 Doug Lea 编写的一个并发编程类,位于 java.util.concurrent.locks,是 CountdownLatch、Semapho...

2019/06/01 19:19
5.3K
TCP基础 —— 流量控制与拥塞控制

一:流量控制 什么是流量控制?流量控制的目的? 如果发送者发送数据过快,接收者来不及接收,那么就会有分组丢失。为了避免分组丢失,控制发送者的发送速度,使得接收者来得及接收,这就是流...

2019/04/30 15:29
919
TCP基础 —— 为什么建立连接需要三次握手,而断开连接则需要四次?能不能是三次?

一、TCP包概述 一个 segment 包含 header 和 data 两个部分,对于这篇文章需要理解的就是,Sequence number 和 Acknowledgement number) 这两个字段。TCP 的可靠传输就是基于这两个字段来实...

2019/04/26 19:05
5.1K
一步步动手实现高并发的Reactor模型 —— Kafka底层如何充分利用多线程优势去处理网络I/O与业务分发

一、从《Apeche Kafka源码剖析》上搬来的概念和图 Kafka网络采用的是Reactor模式,是一种基于事件驱动的模式。熟悉Java编程的读者应该了解Java NIO提供了Reactor模式的API。常见的单线程Jav...

2018/12/13 18:29
2.3W
Kafka源码剖析 —— Kafka的 i/o 操作管理者 NetworkClient

序 之前说过,Kafka 自己实现了一个 Selector 来管理最底层的 i/o 操作,selector 以轮询模式驱动不同事件,来通知网络通道进行读写操作。 而更加高层的 NetworkClient 则 管理多个节点的客户...

2018/09/17 17:59
1.1K
Kafka源码剖析 —— 生产者消息发送流水线上的大体流程

一、唤醒Selector 上篇文章说到,消息是怎么被生产出来,简单来说,就是消息被追加到了RecordAccumulator中,以ByteBuffer的形式存了下来。 那么在消息添加到ByteBuffer中后,后续的步骤又是...

2018/09/14 09:38
781

没有更多内容

加载失败,请刷新页面

返回顶部
顶部