- 博客(5)
- 收藏
- 关注
原创 图解分布式一致性算法paxos raft
paxos1 分布式一致性算法的理论基础,半数以上确认机制,数学可验证。2 不易理解,工程难度高,效率低(任意proposer可提交提案,提案号可能冲突,需要不停重试,甚至产生活锁。)multi-paxos1在paxos基础上,在可提交议案前,新增选举环节,由单一Leader提交提案,规避prepare promise环节和其上可能的提案号冲突问题,效率高。2 有成熟的业界实现:google的chubby,spanner;apache的zookeeper(zab算法,类multi-paxos)
2021-03-08 16:50:01 305
原创 jdk1.8 lambda表达式性能分析
jdk1.7加入invokeDynamic指令来支持动态类型。详见https://book.2cto.com/201301/14120.htmljdk1.8加入lambda表达式,实际使用invokeDynamic指令来实现。1 应用java的语法出了名的繁杂冗余,使用lambda表达式,代码更简洁,比如集合处理。//元素过滤List<Entity> filter = entities...
2018-05-13 18:11:33 2827
原创 Mybatis关键源码解读
通过xml对sql进行直观便捷的管理,mybatis成为dao层的不二选择,简单看看它的源码和实现原理。1 @Repository通过jdk proxy动态代理生成具体处理的类。2 请求到达dao层,xml解析出的数据,需要和请求的入参做匹配,以生成最终的sql调用链:3 根据最终的sql生成prepareStatement, 再去请求db调用链:
2018-01-14 20:41:57 420
原创 Spring关键源码解读
记录追溯spring源码和实现原理的过程build.gradle文件中加apply plugin: 'eclipse'默认下载所有依赖包的源码,在eclipse中双击class文件即可查看源码选择一个web项目来学习,入口选择web.xml中的ContextLoaderListener类的方法contextInitialized,debug断点,边走边看,spr
2017-12-12 00:02:40 653
原创 vue datatables 服务端分页
vue渲染生成表格的行极为便利,datatables处理分页的样式是一把好手,于是将两者结合。从服务器获取数据后,在$('#dataTables-example').DataTable() 中自定义渲染方法。根据服务器返回的分页数据用datatables的callback方法生成分页样式,再根据服务器返回的列表数据用vue component生成行。datatables代码:
2017-06-03 14:37:57 7844
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人