第一篇博客

来源:互联网 发布:如何当淘宝模特 编辑:程序博客网 时间:2024/06/05 02:11

    以前的csdn由于一直没怎么登陆,账号和密码都忘记啦,感觉有必要写写博客 记录一下自己成长的经历。

    七月的上海很是炎热,天空一直喷着火,心情太烦躁,每天都不想起床不想上班,也不想敲代码,公司又要把自己调到其他的地方 ,心里面一百个不愿意,所以就一边上班一边找工作,顶着炎炎的夏日去面试,还没面已经头昏脑涨;有个高中的哥们已经跳到阿里,对于我这种小白何时能进BAT,对于以前一直很害怕写代码,也好久没有面试 ,心里面有点忐忑不安,还是需要总结一下以前的面试题目;

一:springmvc的工作原理
1:前端发送一个http请求给web服务器,web服务器对http请求进行解析;如果匹配DispatchServlet的请求映射路径(在web.xml中指定)
,web服务器将请求转发给DispatchServlet
2:DispatchServlet接收到请求之后根据请求的数据以及hadderleMapping找到处理请求的处理器Haddler
3:Handler将对具体的业务进行封装,再由具体的HanderAdapter对handler进行具体的调用
4:Hander对数据处理完之后会返回一个ModelAndView对象给前端控制器
5:前端控制器通过视图解析器ViewResolver转化为真正的View,最终返回给客户端
二:mysql索引和联合索引
(一):mysql中innerDB索引的原理
1:InnoDB是Mysql的默认存储引擎;索引对InnoDB数据的重要性要大得多;在InnoDB数据表上,索引不仅会在搜索数据记录时发挥作用,
还是数据行级锁定机制;InnoDB支持事务;
2:出于效率方面的考虑,InnoDB数据表的数据行级锁定实际发生在它们的索引上,而不是数据表自身上。
3:InnoDB使用的是聚簇索引,将主键组织到一棵B+树中,而行数据就储存在叶子节点上,
若使用"where id = 14"这样的条件查找主键,则按照B+树的检索算法即可查找到对应的叶节点,之后获得行数据。
若对Name列进行条件搜索,则需要两个步骤:第一步在辅助索引B+树中检索Name,到达其叶子节点获取对应的主键。
第二步使用主键在主索引B+树种再执行一次B+树检索操作,最终到达叶子节点即可获取整行数据
4:理解InnoDB的实现不得不提Page结构,Page是整个InnoDB存储的最基本构件,也是InnoDB磁盘管理的最小单位,
与数据库相关的所有内容都存储在这种Page结构里
(二)mysql 表索引的原理:索引是一个B+二叉树。从原理上说B+二叉树的特性 决定了对insert、update、delete、select的影响和作用。
如果新insert一个值,会导致B+二叉树进行再平衡重整,这个过程B+二叉树进行重新整理,索引越大,索引越多,重新整理的时间花费越大。(增删改需要二叉树的
的再平衡,序列化,IO机制影响啦速度)
(三):索引的创建原则:
1: 索引建立在经常排序 分组查询的字段
2: 索引避免是null
3: 索引并不是越多越好,限制索引的数量
4:联合索引最左原则,且where中or不起作用
5: 索引要建立在短字段和数据简单的字段上
6:选择唯一性索引


原创粉丝点击