摘要:
简介 mybatis的启动入口一般有两个,在结合spring框架后由spring整合包下的SqlSessionFactoryBean启动 如果没有整合spring,则有XMLConfigBuilder启动 这两个启动入口都会初始化Configuration对象,该对象是mybatis配置文件的对象形 阅读全文
摘要:
分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。 为了确保分布式锁可用,至少要确保锁的实现同时满足以下四个条件: 互斥性。在任意时刻,只有一个客户端能持有锁。 不会发生死锁。即使有一个客户端在持有锁的期间崩溃而没有主动解锁,也能 阅读全文
摘要:
连接成功建立后,客户端是如何向服务端发送请求的? 由于内部源码的调用过于复杂,我们只分析有代表性的代码。在 AbstractChannel 类中我们可以看到: wirte() 方法最后会把发送的数据 msg 放入 addMessage() 方法中,这个方法是做什么的呢? 原来把要发送数据放入一个缓冲 阅读全文