一个月复盘-问题

2022-03-26  本文已影响0人  小周爱吃瓜

三级缓存图问题:
https://www.processon.com/diagraming/6187938f0791293fb6c62079

改写DatsSource,Connection,MyBatis的插件也可以拦截sql执行过程.

如何替换?
MyBatis prepareStatement.
替换成Sharding的Conneciton,DataSource,执行route方法的时候获取配置文件
,拼接成Sql 查询.
解析,理由,优化,查询,汇总.

Screen Shot 2022-03-25 at 11.28.34 PM.png
  1. 为什么redo 需要2阶段提交?


    Screen Shot 2022-03-25 at 11.43.42 PM.png
  2. 一条SQL语句是如何执行的?


    Screen Shot 2022-03-25 at 11.44.24 PM.png

HashMap

 static final int hash(Object key) {
        int h;
        return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16);
    }
Screen Shot 2022-03-26 at 4.35.18 PM.png

如果 2 4 s
h >>>16 将高位数据向低位迁移,这样高低位数据都能被计算在内。
这样高低位的数据都会参与hash计算,这样的出来的hash值更加均匀。

能够让数组位置 1 -- 16 中的链表分布更加均匀.

TreeSet构造中含有TreeMap,其中有comparator进行排序.

上一篇下一篇

猜你喜欢

热点阅读