最后:学习总结——MyBtis知识脑图(纯手绘xmind文档)
学完之后,若是想验收效果如何,其实最好的方法就是可自己去总结一下。比如我就会在学习完一个东西之后自己去手绘一份xmind文件的知识梳理大纲脑图,这样也可方便后续的复习,且都是自己的理解,相信随便瞟几眼就能迅速过完整个知识,脑补回来。下方即为我手绘的MyBtis知识脑图,由于是xmind文件,不好上传,所以小编将其以图片形式导出来传在此处,细节方面不是特别清晰。但可给感兴趣的朋友提供完整的MyBtis知识脑图原件(包括上方的面试解析xmind文档)
除此之外,前文所提及的Alibaba珍藏版mybatis手写文档以及一本小小的MyBatis源码分析文档——《MyBatis源码分析》等等相关的学习笔记文档,也皆可分享给认可的朋友!
1、大顶堆等效构成的二叉树的父节点不小于其子节点
1、需要注意的是大顶堆以及小顶堆只关注每个节点与其子节点的大小,至于一个节点的子节点大小则不关注,即不是我们常说的二叉排序树。
2、上面的二叉树仅仅是大顶堆等效的一种结构,实际存储则是采用数组的形式,而不是二叉树的形式
实现
有了大顶堆的基础知识后,接下来看下如何用java实现大顶堆的构造
public class MaxHeap {
@Test
public void test(){
int[] array= {2,8,14,4,16,7,1,10,9,3};
buildMaxHeap(array);
//输出构成的大顶堆
for(int i:array){
println(i);
}
}
/**
* 初始化大顶堆
*/
private void buildMaxHeap(int[] array){
for(int i= (array.length-2)/2;i>=0;i--){
maxHeapify(array,i);
}
}
/**
*
* @param arr
* @param i
*/
private void maxHeapify(int[] arr,int i){
//println("i="+i);
//有效数据下标从0开始
int len = arr.length;
//左子节点
int left = 2*i+1;
//右子节点
int right = 2*i+2;
//初始化最大值节点为当前节点
int largest = i;
//左节点不超出数组范围且比较大节点值大,则更新较大值下标
if(left <len && arr[left] > arr[largest]){
//左节点比该节点大
largest = left;
}
//右节点不超出数组范围且比较大节点值大,则更新较大值下标
if(right <len && arr[right] > arr[largest]){
//左节点比该节点大
largest = right;
# 复习的面试资料
> 这些面试全部出自大厂面试真题和面试合集当中,小编已经为大家整理完毕(PDF版)
>
* **第一部分:Java基础-中级-高级**
![image](https://img-blog.csdnimg.cn/img_convert/ce3a334b3846d27eb5d70f48c8552787.webp?x-oss-process=image/format,png)
* **第二部分:开源框架(SSM:Spring+SpringMVC+MyBatis)**
![image](https://img-blog.csdnimg.cn/img_convert/9e20d5a1ee8552db7405a75ee568f491.webp?x-oss-process=image/format,png)
* **第三部分:性能调优(JVM+MySQL+Tomcat)**
![image](https://img-blog.csdnimg.cn/img_convert/a45bf0a38494c002ed8211670f5c7ea6.webp?x-oss-process=image/format,png)
* **第四部分:分布式(限流:ZK+Nginx;缓存:Redis+MongoDB+Memcached;通讯:MQ+kafka)**
![image](https://img-blog.csdnimg.cn/img_convert/c47934d0732fab0df1fc686ff3657827.webp?x-oss-process=image/format,png)
* **第五部分:微服务(SpringBoot+SpringCloud+Dubbo)**
![image](https://img-blog.csdnimg.cn/img_convert/09c3da822409cf12fd7aa30b2dfc0ebc.webp?x-oss-process=image/format,png)
* **第六部分:其他:并发编程+设计模式+数据结构与算法+网络**
![image](https://img-blog.csdnimg.cn/img_convert/abc1f7f619fda15b8bf02f3c6a0daa6e.webp?x-oss-process=image/format,png)
# 进阶学习笔记pdf
>* **Java架构进阶之架构筑基篇(**Java基础+并发编程+JVM+MySQL+Tomcat+网络+数据结构与算法**)**
![image](https://img-blog.csdnimg.cn/img_convert/485e3e8546700d17a9843799bb7c30aa.webp?x-oss-process=image/format,png)
* **Java架构进阶之开源框架篇(**设计模式+Spring+SpringMVC+MyBatis**)**
![image](https://img-blog.csdnimg.cn/img_convert/fded40175efb0c39d65801e2a5e4c017.webp?x-oss-process=image/format,png)
![image](https://img-blog.csdnimg.cn/img_convert/c7f90d2532a7c29e4a7f9aeaa7317602.webp?x-oss-process=image/format,png)
![image](https://img-blog.csdnimg.cn/img_convert/862d27d9e21f52bdbf51400ac9162b0d.webp?x-oss-process=image/format,png)
* **Java架构进阶之分布式架构篇 (**限流(ZK/Nginx)+缓存(Redis/MongoDB/Memcached)+通讯(MQ/kafka)**)**
![image](https://img-blog.csdnimg.cn/img_convert/5c9151ae32fdc6ebc51425a772f6a152.webp?x-oss-process=image/format,png)
![image](https://img-blog.csdnimg.cn/img_convert/d67e19c9b027d5ebdd11d271bb5f5dbc.webp?x-oss-process=image/format,png)
![image](https://img-blog.csdnimg.cn/img_convert/25988651078aecd085546d8097ed4da3.webp?x-oss-process=image/format,png)
* **Java架构进阶之微服务架构篇(RPC+SpringBoot+SpringCloud+Dubbo+K8s)**
![image](https://img-blog.csdnimg.cn/img_convert/96f94569a38f17142220f019c2b04655.webp?x-oss-process=image/format,png)
![image](https://img-blog.csdnimg.cn/img_convert/64f3d8146d0eed950b23870fdca6dd0d.webp?x-oss-process=image/format,png)
> **本文已被[CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)收录**
**[需要这份系统化的资料的朋友,可以点击这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**
解析+核心总结学习笔记+最新讲解视频+实战项目源码】](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)收录**
**[需要这份系统化的资料的朋友,可以点击这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**