摘要:
某本书中说到索引的设计是否优秀可以分为三个星级 一星索引:索引将相关记录放到一起 二星索引:索引的数据顺序和查找中的顺序一致 三星索引:索引列包含查询中需要的全部列 复合索引设计技巧 我们都知道复合索引是遵循最左前缀法则的,这种规则使我们设计复合索引的顺序时都考虑使用频率最高的字段放在最左边以此类推 阅读全文
摘要:
问题分析 A依赖B B又依赖A所构成的一种循环,也可以称为循环依赖,试想下这个场景在MyBatis中会怎样?如果不管的话那就是无限制的去数据库查询了。 demo <resultMap id="authorMap" type="org.apache.ibatis.demo.Author"> <resu 阅读全文
摘要:
MyBatis作为持久层框架,它最牛逼的地方就是将查询的结果集与Java对象进行映射,让我们解放双手,不用操心双方模型的关系处理,那它怎么实现的呢? 先介绍下ResultMap,ResultMapping ResultMap&ResultMapping ResultMap就是平常我们编写的Mappe 阅读全文
摘要:
MetaObject是个反射工具类它支持以“点.”的方式向下递归反射创建对象,属性赋值以及通过key名获取集合对象。 测试 public void shouldGetAndSetNestedField() { // 创建一个普通bean RichType rich = new RichType(); 阅读全文
摘要:
代理模式是个结构性模式,主要是在原基础上添加了一个代理类来控制访问目标类的方式,这样做的好处是双方可以不用直接通信,实现了松耦合的效果使真实对象可以更专心做自己的事(单一职责,最少知识职责)更独立,维护成本更低!! JDK动态代理是基于接口实现的,有想过为什么要用实现,不用继承吗?? 测试案例 被代 阅读全文
摘要:
集线器 集线器是以太网的基本架构,它将信号原封不动地广播到所有连接在它上面的设备,然后由设备根据接收方的MAC地址来判断是否接收。 交换机 交换机根据MAC地址表查找MAC地址,然后将信号发送到对应的接口上 全双工&半双工 全双工是交换机特有的工作模式,它可以同时发送和接收数据,不会造成网络堵塞(双 阅读全文
摘要:
协议栈可以简单理解成是一种网络控制软件,它是要配合一系列Socket组件才能完成网络的连接以及收发操作。 “套接字”是协议栈负责收发数据的关键角色,往抽象点的方面来解释的话就是连接管道的出入口,如果要赋予实体的话那它就是一个存放“控制信息”的临时空间,例如:通信对象的“ip地址”,“端口号”,“通信 阅读全文
摘要:
浏览器是一个具备多种功能的客户端软件。它的工作是对URL进行解析,从而生成发送给Web服务器的请求消息,具体访问哪个文件由web服务器决定。 URL:统一资源定位符也可以理解为一段网址 比如:http,ftp,file。 URI:统一资源标识符,可以看做下图的文件路径名。 协议:通信操作的规则定义称 阅读全文
摘要:
Tomcat是什么? 基于JavaEE规范的Servlet容器,主要作用就是处理网络请求,内部是基于面向组件开发的 Tomcat组件 Server:相当于服务器本身 Service:服务,在服务器可以存在多个 Connector:连接器,⽤于接收指定协议下的连接并指定给唯⼀的Engine 进⾏处理。 阅读全文
摘要:
所有跨存储引擎的功能都在服务器层实现 存储引擎负责MySQL中数据的存储和提取,服务器通过API与存储引擎进行通信,存储引擎API包含十几个底层函数,用于执行诸如“开始一个事务”,“根据主键提取一行记录”等操作,但存储引擎不会解析sql(InooDB是个例外,它会解析外键定义,因此MySQL本身没有 阅读全文