- 博客(7)
- 收藏
- 关注
原创 redis面试总结
什么是redis?Redis 是一个基于内存的高性能key-value数据库。 (有空再补充,有理解错误或不足欢迎指正)Reids的特点Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。优点:(1)速度快,每秒可以处理超过 10万次读写操作,是已知性能最...
2018-08-23 17:11:31 284 1
原创 索引的数据结构及其优化策略
为什么使用B+树而不是红黑树作为索引?一般来说,索引本身也很大,不可能全部存储在内存中,因此索引往往以索引文件的形式存储的磁盘上。这样的话,索引查找过程中就要产生磁盘I/O消耗,相对于内存存取,I/O存取的消耗要高几个数量级,索引的结构组织要尽量减少查找过程中磁盘I/O的存取次数。磁盘往往不是严格按需读取,而是每次都会预读,即使只需要一个字节,磁盘也会从这个位置开始,顺序向后读取一定长度的数据放...
2018-08-15 09:54:18 391
原创 InnoDB与MyISAM存储引擎
MyISAM索引实现MyISAM引擎使用B+Tree作为索引结构,叶节点的data域存放的是数据记录的地址在MyISAM中,主索引和辅助索引(Secondary key)在结构上没有任何区别,只是主索引要求key是唯一的,而辅助索引的key可以重复。同样也是一颗B+Tree,data域保存数据记录的地址。因此,MyISAM中索引检索的算法为首先按照B+Tree搜索算法搜索索引,如果指定的Key...
2018-08-14 20:10:07 188
原创 锁
乐观锁:它假设多用户并发的事务在处理时不会彼此互相影响,各事务能够在不产生锁的情况下处理各自的那部分数据。在提交数据更新之前,每个事务会先检查在该事务读取数据后,有没有其他事务又修改了该数据。如果其他事务有更新的话,正在提交的事务会进行回滚。数据版本,为数据增加的一个版本标识。当读取数据时,将版本标识的值一同读出,数据每更新一次,同时对版本标识进行更新。当我们提交更新的时候,判断数据库...
2018-08-14 17:11:24 150
原创 springboot自动配置原理
自动配置SpringSpring Boot会根据在类路径中的jar包,类,为jar包里的类自动配置beanSpringBoot为我们提供了简化企业级开发绝大多数场景的start pom,只要使用了应用场景所需要的start pom,相关的技术配置将会消除,就可以得到spring Boot为我们提供的自动配置的bean*************************************...
2018-08-09 10:01:38 267
原创 执行引擎
执行引擎是跟操作系统相关的,.class都是JVM指令,JVM就是让执行引擎干活的命令。执行引擎在执行java代码的时候都会有解释执行和编译执行两种选择。解释执行:对源语言写成的源语句进行一句一句的翻译,翻译一句就提交给计算机执行一句,并不会形成目标程序。它的优点是翻译本身并不费事。它的缺点是运行速度慢,比如当程序中存在循环条件时,循环体内的语句就会被多次的翻译,从而影响运行速度...
2018-08-03 14:09:13 2167
原创 类加载器
java代码在编译后会变成java字节码,字节码被类加载器加载到JVM里,JVM执行字节码,最终要转化为汇编指令在CPU上执行类装载器ClassLoader类加载概念:通过一个类的全限定名来获取描述此类的二进制字节流,每一个类加载器都有一个独立的类名称空间,比较2个类是否相等,只有在这2个类是由同一个类加载器加载的前提下才有意义。ClassLoader是一个抽象类ClassLoade...
2018-08-01 14:29:13 113
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人