前言
都知道MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
所以作为一名开发人员,掌握好MyBatis的使用是非常有必要的,特别是像阿里、腾讯等大厂都使用广泛,那么如何能够达到“精通”MyBatis的程度?今天就来好好谈谈。
下面简单介绍一下这份MyBatis源码笔记,每个章节都是深入解析了源码底层在PDF里边有。为了让大家更好的学习MyBatis技术,我也是第一时间展示给大家了!
对于面试大厂的朋友,一些建议
阿里
阿里面试官一般都是P7/P8岗,对标到普通互联网公司相当于就是技术专家那种类型!他们对于没有经验的毕业生面试问的比较浅一点,大多数问题问的集合、锁、JVM调优,线程池、spring方面也会问源码、然后是分库分表、mysql、redis都会问点,
而1—3年工作经验的,70%看项目还是从实战项目来问,一般会问的比较深,想去阿里的朋友要做好准备,如秒杀系统项目一定准备好,20%问微服务、高并发。高扩展、高可用问题,这些你也应该准备好,10%问基础,像spring原理、Java内存区域是一定要知道的
网易
网易的面试官,对基础很看重,然后问的也是实战项目。基本上万变不离核心思想。
海康威视
海康威视的面试官跟网易的面试官差不多,也喜欢问基础。幸好我花了2个月的时间打好Java基础。
那么如果你前几年跟我一样都在Curd,没进行过系统的学习,想弥补这前 5 年的技术成长该怎么补救?




1,Java集合(部分内容)
接口继承关系与实现
List
- ArrayList:数组
 - Vector:数组实现、线程同步
 - LinkList:链表
 
Set
- HashSet:hash表
 - TreeSet:二叉树
 - Linkhashset
 
Map
- Java实现
 
线程安全
可排序
记录插入排序

2,Java多线程并发(部分内容)
线程实现/创造方式
4种线性池
- newCachedThreadPool
 - newFixedThreadPool
 - newScheduledThreadPool
 - newSingleThreadExecutor
 
线程生命周期(状态)
- 新建状态
 - 就绪状态
 - 运行状态
 - 阻塞状态
 - 线程死亡
 
终止线程4种方式
- 正常运行结束
 - 使用退出标志退出线程
 - Interrupt方法结束线程
 - stop方法终止线程(线程不安全)
 

3,Java锁(部分内容)
- 乐观说
 - 悲观锁
 - 自旋锁
 - Synchronized同步锁
 - ReentrantLock
 - 可重入锁(递归锁)
 - 公平锁与非公平锁
 - ReadWriteLock读写锁
 - 共享锁和独占锁
 - 重量级锁/轻量级锁
 - 锁优化
 

4,Spring(部分内容)
Spring特点
- 轻量级
 - 控制反转
 - 面向切面
 - 容器
 
Spring常用模块
Spring主要包
Spring常用注解
Spring第三方结合
SpringIOC
- Spring容器高层视图
 - IOC容器实现
 - SpringBean作用域
 - SpringBean生命周期
 
Spring 依赖注入四种方式
AOP 两种代理方式



微服务(部分内容)

Netty/RPC(部分内容)

网络(部分内容)

日志(部分内容)

消息中间接(部分内容)
Java高频面试专题合集解析:

当然在这还有更多整理总结的Java进阶学习笔记和面试题未展示,其中囊括了Dubbo、Redis、Netty、zookeeper、Spring cloud、分布式、高并发等架构资料和完整的Java架构学习进阶导图!

更多Java架构进阶资料展示



 -yCGtWxkK-1651294605341)]
更多Java架构进阶资料展示
[外链图片转存中…(img-OtxvSnmm-1651294605341)]
[外链图片转存中…(img-nbUy8q9g-1651294605341)]
[外链图片转存中…(img-9TnBg7id-1651294605342)]










