摘要: (一)jdk中future和netty中future的比较 jdk中future: jdk中future的特点:1.无论结果是成功还是失败还是取消,返回的都是isdone();2.而且我们在异步操作触发和结束的时候比较关心其他的一些操作,在jdk的future中无法进行补充。所以netty对futu 阅读全文
posted @ 2018-03-16 16:15 liron 阅读(3019) 评论(0) 推荐(0) 编辑
摘要: public static void main(String[] args) { ThreadMXBean mbean = ManagementFactory.getThreadMXBean(); // 只能检测 synachrozied 同步代码块 的死锁 // long[] deadlockedThreadIds = mbean.findMon... 阅读全文
posted @ 2018-03-16 16:08 liron 阅读(694) 评论(0) 推荐(0) 编辑
摘要: ServerBootstrap 为 netty 建立服务端的辅助类, 以 NIO为例,创建代码如下: 核心参数如下: 初始化流程主要为 绑定本地端口 -> 注册自身到 EventLoop , 并注册 accept 和 read 事件 -> EventLoop的主循环中会不断的select注册的cha 阅读全文
posted @ 2018-03-16 14:26 liron 阅读(1463) 评论(0) 推荐(0) 编辑
摘要: Netty 事件循环主逻辑在 NioEventLoop.run 中的 processSelectedKeys函数中 processSelectedKeys 函数 执行时会判断是否执行优化的版本,即判断 SelectedSelectionKeySet 是否为空。 是否开启优化取决于是否设置了环境变量 阅读全文
posted @ 2018-03-15 17:57 liron 阅读(368) 评论(0) 推荐(0) 编辑
摘要: Configuration : 由 mybatis-config.xml解析产生的配置对象 MapperRegistry : mapper注册中心 InterceptorChain : 用户自定义拦截器的执行链,能够拦截 Executor、StatementHandler、ParameterHand 阅读全文
posted @ 2018-03-13 10:26 liron 阅读(488) 评论(0) 推荐(0) 编辑
摘要: MapperProxyFactory->MapperProxy->MapperMethod->MapperStatement->StatementHandler->ResultSetHandler,ParameterHandler 阅读全文
posted @ 2018-03-07 16:33 liron 阅读(91) 评论(0) 推荐(0) 编辑
摘要: SqlSession.getMapper -> configuration.getMapper -> mapperRegistry.getMapper -> mapperProxyFactory.newInstance 返回mapper的代理对象 mapperProxy, 接口的查询、更新等方法通过 阅读全文
posted @ 2018-03-07 16:06 liron 阅读(538) 评论(0) 推荐(0) 编辑
摘要: Follower是 follower节点启动的和leader进行同步的功能类 主要逻辑如下: 1.和leader建立链接 2.向leader发送自己的epoch和zxid. 处理来自leader的数据包 阅读全文
posted @ 2017-08-21 13:41 liron 阅读(464) 评论(0) 推荐(0) 编辑
摘要: QuorumPeer是zookeeper执行同步,选主过程的线程 主要逻辑: 1.当自己处于 LOOKING状态: 执行lookForLeader() 2.当自己处于OBSERVING状态: 建立一个Observer服务和leader进行同步 3.当自己处于LEADING时: 建立一个Leader服 阅读全文
posted @ 2017-08-21 13:29 liron 阅读(751) 评论(0) 推荐(1) 编辑
摘要: FastLeaderElection是zookeeper默认的选举算法,当peer处于ServerState.Looking状态时会执行FastLeaderElection.lookForLeader进行选主. 重要数据结构: 1.HashMap<Long, Vote> recvset: 本轮选举中 阅读全文
posted @ 2017-08-21 13:18 liron 阅读(466) 评论(0) 推荐(0) 编辑