美文网首页程序员
阿里腾讯面试题目4

阿里腾讯面试题目4

作者: 长弘羲雨 | 来源:发表于2020-05-19 15:49 被阅读0次

    1、组合索引问题,失效问题

    1.组合索引多字段是有序的,并且是个完整的BTree 索引,有最左原则
    多列索引是先按照第一列进行排序,然后在第一列排好序的基础上再对第二列排序,如果没有第一列的话,直接访问第二列,那第二列肯定是无序的,直接访问后面的列就用不到索引了。
    搜索需要从根节点出发,上层节点对应靠左的值,搜索需要从根节点出发,否则不从根节点出发,后面的节点对应下层的值,依旧是乱序的,需要遍历,所以索引就失效了,所以有最左原则。 2.组合索引的使用:
    例如组合索引(a,b,c),组合索引的生效原则是
    从前往后依次使用生效,如果中间某个索引没有使用,那么断点前面的索引部分起作用,断点后面的索引没有起作用;

    2、simpleDateFormat 为啥线程不安全

    通过 DateFormat 类中的注释可知:此处 Calendar 实例被用来进行日期-时间计算,既被用于 format 方法也被用于 parse 方法!
    在 parse 方法的最后,会调用 CalendarBuilder 的 establish 方法,入参就是 SimpleDateFormat 维护的 Calendar 实例,在 establish 方法中会调用 calendar 的 clear 方法,如下:
    [图片上传失败...(image-f1af5b-1589874591459)]

    可知 SimpleDateFormat 维护的用于 format 和 parse 方法计算日期-时间的 calendar 被清空了,如果此时线程 A 将 calendar 清空且没有设置新值,线程 B 也进入 parse 方法用到了 SimpleDateFormat 对象中的 calendar 对象,此时就会产生线程安全问题!
    ————————————————
    版权声明:本文为 CSDN 博主「撒欢嘞啦」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/weixin_38810239/java/article/details/79941964

    相关文章

      网友评论

        本文标题:阿里腾讯面试题目4

        本文链接:https://www.haomeiwen.com/subject/siubohtx.html