摘要:
为什么 MySQL 使用 B+树 - 知乎 (zhihu.com) 首先需要澄清的一点是,MySQL 跟 B+ 树没有直接的关系,真正与 B+ 树有关系的是 MySQL 的默认存储引擎 InnoDB,MySQL 中存储引擎的主要作用是负责数据的存储和提取(从我们的磁盘中),除了 InnoDB 之外, 阅读全文
摘要:
为什么要知道MySQL的执行过程呢?是因为我们要对sql语句进行优化。这个是很要必要的。 客户端发送一条查询给服务器。 服务器先检查查询缓存,如果命中了缓存,则立刻返回存储在缓存中的结果。否则进入下一阶段。 服务器端进行SQL解析,预处理,再由优化器生成对应的执行计划。 MySQL根据优化器生成的执 阅读全文
摘要:
SQL查询语句先执行SELECT? SELECT 语句的完整语法,如下: SELECT DISTINCT <select_list> FROM <left_table> <join_type> JOIN <right_table> ON <join_condition> WHERE <where_c 阅读全文
摘要:
题目 网上有好多教程,看的我很头大。经过朋友的讲解,豁然顿悟。废话不说。 要做对这道题,首先就是先要搞懂折半查找树是怎样的构建的过程,折半查找,顾名思义,就是通过一次次的折半,来构建树,小的放左边,大的放右边。 构建树,肯定要先有根节点。没有问题吧。所以说先要折半。折半的还有问题,要么正好是中点,要 阅读全文
摘要:
冒泡排序 冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较,交换也发生在这两个元素之间。所以,如果两个元素相等,我想你是不会再无聊地把他们俩交换一下的;如果两个相等的元素没有相邻,那么即使通过前面的两两交换把两个相邻起来,这时候也不会交换,所以相同元素的前后顺序并没有改 变 阅读全文
摘要:
抛出问题 内存和主存的区别 什么是磁盘IO 胡说八道 question 1 内存包括主存(内存条,基于DRAM)与高速缓存(Cache,基于SRAM)两部分。 一、定义上的区别: 主存储器(Main memory),简称主存。是计算机硬件的一个重要部件,其作用是存放指令和数据,并能由中央处理器(CP 阅读全文
摘要:
今天面试的时候,傻逼了,这可是自己以前看过的,面试官问的时候,我整个一脸傻逼。好痛苦,看的好多东西记不住。感觉面试实习又要凉凉😭。 分析 保证被volatile修饰的共享变量对所有线程总是可见的,也就是当一个线程修改了一个被volatile修饰共享变量的值,新值总是可以被其他线程立即得知。 //线 阅读全文
摘要:
线程之间为什么要进行通信 线程是操作系统调度的最小单位,有自己的栈(JVM中的虚拟机stack)空间,可以按照既定的代码逐步的执行,但是如果每个线程间都孤立的运行,那就会造资源浪费。所以在现实中,我们需要这些线程间可以按照指定的规则共同完成一件任务,所以这些线程之间就需要互相协调,这个过程被称为线程 阅读全文
摘要:
链接 前提知识 集合类存放于 Java.util 包中,主要有 3 种:Set(集)、List(列表包含 Queue)和 Map(映射)。 Collection:Collection 是集合 List、Set、Queue 的最基本的接口。 Iterator:迭代器,可以通过迭代器遍历集合中的数据 M 阅读全文
摘要:
学习地址推荐 String(字符串类型) String 是 Redis 最基本的类型,你可以理解成与 Memcached 一模一样的类型,一个 key 对应一个 value。 String 类型是二进制安全的。Redis 的 String 可以包含任何数据。比如jpg图片或者序列化的对象。 Stri 阅读全文