随笔集
1.ioc实现原理
在配置文件中定义包扫描路径,遍历所在包的class文件,然后利用反射获取所有的类以及类名,获取对象的
实例保存在一个map中,然后依据依赖关系对相关的类进行依赖注入,最后调用的时候调用getbean方法来获取
对应的类
2.双亲委派
避免类被重复加在,我们的类会被appclassloader来加载,如果没有找到会委派其父类加载器继续查找,一层层
向上查找,如果缓存中都没有,那么就会从类路径中区记载,所以判断一个类是否重复,除了类名和路径还要看
类加载器
3.springboot自动装配
@Configation @Bean @Import
4.聚族索引和非聚族索引
mysql主键索引就是采用聚族索引基于b+tree,其节点上存有数据的内存地址,叶子结点上存有对应的数据
其他索引为非聚族索引基于主键来的,叶子节点上存放主键的id,查找时候采用二次查找
5.mysql主从同步
主库数据发生变化会写入到binlog中,从库有一个i/o线程来连接主库,检测到主库的日志发生变化会请求对应的
日志保存到本地,从库会有一个sql线程来检测本地log是否发生更新,有的话就更新本地数据