- 博客(273)
- 资源 (3)
- 收藏
- 关注
原创 【动图演示排序算法】-3- O(N)的排序算法(计数,桶排,基数)
目录1、计数排序(1)计数排序的介绍(2)计数排序的原理(3)动态图演示(4)代码演示10、桶排序(1)桶排序的介绍(2)桶排序的原理(3)动态图演示(4)代码演示11、基数排序(1)基数排序的介绍(2)基数排序的原理(3)动态图演示(4)代码演示
2023-08-10 14:13:04
142
原创 【动图演示排序算法】-2- O(N*logN)的排序算法(归并,快排,希尔,堆排)
目录1、归并排序(1)归并排序的介绍(2)归并排序的原理(3)动态图演示(4)代码演示2、快速排序(1)快速排序的介绍(2)快速排序的原理(3)动态图演示(4)代码演示3、希尔排序(1)希尔排序的介绍(2)希尔排序的原理(3)动态图演示(4)代码演示4、堆排序(1)堆排序的介绍(2)堆排序的原理(3)动态图演示(4)代码演示
2023-08-10 14:06:09
163
原创 【动图演示排序算法】-1- O(N^2)的排序算法(冒泡,选择,插入)
目录1、冒泡排序(1)冒泡排序的介绍(2)冒泡排序的原理:(3)动图演示(4)代码演示2、选择排序(1)选择排序的介绍(2)选择排序的原理(3)动态图演示(4)代码演示3、插入排序(1)插入排序的介绍(2)插入排序的原理(3)动态图演示(4)代码演示
2023-08-10 13:49:31
116
原创 【MyBatis】-0- 系列汇总
【MyBatis】系列【MyBatis】-01- ORM框架的发展【MyBatis】-02- demo案例【MyBatis】-03- 核心配置【MyBatis】-04- MyBatis最佳实践【MyBatis】-05- 四万字解析-MyBatis核心工作原理【MyBatis】-06- 缓存模块详解【MyBatis】-07- 日志模块解析【MyBatis】-08- 反射模块解析【MyBatis】-09- 类型转换模块解析【MyBatis】-10- 两万字解析-MyBatis插件原理【My
2023-08-10 09:00:55
83
原创 【MyBatis】-11- MyBatis整合Spring的原理分析
MyBatis整合Spring的原理分析1. MyBatis整合Spring实现1.1 添加相关的依赖1.2 配置文件1.3 单元测试2.MyBatis整合Spring的原理2.1 SqlSessionFactory2.1.1 afterPropertiesSet2.1.2 getObject2.1.3 onApplicationEvent2.2 SqlSession2.2.1 DefaultSqlSession的问题2.2.2 SqlSessionTemplate2.2.3 Sq
2023-08-09 15:02:40
45
原创 【MyBatis】-10- 两万字解析-MyBatis插件原理
MyBatis插件原理1. 自定义插件1.1 创建Interceptor实现类1.2 配置拦截器1.3 运行程序2. 插件实现原理2.1 初始化操作2.2 如何创建代理对象2.2.1 Executor2.2.2 StatementHandler2.2.3 ParameterHandler2.2.4 ResultSetHandler2.3 执行流程2.4 多拦截器3. PageHelper分析3.1 PageHelper的应用3.2 实现原理剖析4.应用场景分析
2023-08-09 15:00:49
65
原创 【MyBatis】-09- 类型转换模块解析
类型转换模块解析1.类型转换模块1.1 TypeHandler1.2 BaseTypeHandler1.3 TypeHandler实现类1.4 TypeHandlerRegistry1.5 TypeAliasRegistry1.6 TypeHandler的应用1.6.1 SqlSessionFactory1.6.2 执行SQL语句
2023-08-09 14:58:50
88
原创 【MyBatis】-08- 反射模块解析
反射模块解析1.反射模块1.1 Reflector1.1.1 属性1.1.2 构造方法1.1.3 公共的API方法1.2 ReflectorFactory1.2.1 ReflectorFactory接口的定义1.2.2 DefaultReflectorFactory1.2.3 使用演示1.3 Invoker1.3.1 接口说明1.3.2 效果演示1.4 MetaClass1.5 MetaObject1.6 反射模块应用1.6.1 SqlSessionFactory1.6.2
2023-08-09 14:56:15
59
原创 【MyBatis】-07- 日志模块解析
日志模块解析1、Log2、LogFactory3、 日志应用4、JDBC 日志4.1 BaseJdbcLogger4.2 ConnectionLogger4.3 应用实现
2023-08-09 14:54:48
57
原创 【MyBatis】-06- 缓存模块详解
缓存模块详解1. Cache接口2. PerpetualCache3.BlockingCache4. 缓存的应用4.1 缓存对应的初始化4.2 一级缓存4.3 二级缓存4.4 第三方缓存
2023-08-09 14:53:18
49
原创 【MyBatis】-05- 四万字解析-MyBatis核心工作原理
MyBatis核心工作原理讲解一、源码环境1.手动编译源码2.关联源码二、MyBatis源码分析1.三层划分介绍1.1 接口层1.2 核心处理层1.3 基础支持层2. 核心流程2.1 核心对象的生命周期2.1.1 SqlSessionFactoryBuiler2.1.2 SqlSessionFactory2.1.3 SqlSession2.1.4 Mapper2.2 SqlSessionFactory2.2.1 SqlSessionFactoryBuilder2.2.2 X
2023-08-09 14:50:49
59
原创 【MyBatis】-04- MyBatis最佳实践
MyBatis最佳实践1.动态SQL语句1.1 if1.2 choose1.3 trim1.4 foreach2.批量操作2.1 批量插入2.2 批量更新2.3 批量删除2.4 BatchExecutor3.关联查询3.1 嵌套查询3.2 延迟加载4.分页操作4.1 逻辑分页4.2 物理分页5.MBG与Example5.1 添加配置文件5.2 添加插件5.3 生成6. 通用Mapper6.1 方式一6.2 方式二7.MyBatis-Plus
2023-08-09 14:45:56
66
原创 【MyBatis】-03- 核心配置
核心配置1.全局配置文件1.1 configuration1.2 properties1.3 settings1.4 typeAliases1.5 TypeHandler1.6 objectFactory1.7 plugins1.8 environments1.9 mappers2. 映射文件2.1 cache2.2 cache-ref2.3 resultMap2.4 sql2.5 增删改查标签
2023-08-09 14:43:52
77
原创 【MyBatis】-02- demo案例
demo案例1. 环境准备1.1 创建项目1.2 POJO对象1.3 添加配置文件2. 编程式的使用3. 代理方式的使用3.1 接口声明3.2 映射文件3.3 getMapper
2023-08-09 14:37:19
52
原创 【MyBatis】-01- ORM框架的发展
一、ORM框架的发展历程1. JDBC操作1.1 JDBC操作的特点1.2 JDBC优化1.01.3 JDBC优化2.01.4 JDBC优化3.02.Apache DBUtils2.1 初始配置2.2 基本操作3.SpringJDBC3.1 初始配置3.2 CRUD操作4.Hibernate4.1 ORM介绍4.2 Hibernate的使用4.2.1 创建项目4.2.2 配置文件4.2.3 CRUD 操作4.2.4 其他方式4.3 Hibernate总结5.MyBat
2023-08-09 11:06:44
99
原创 SpringBoot自动装配原理分析
自动装配源码分析自动装配的演示深入分析EnableAutoConfigurationAutoConfigurationImportSelector是什么?CacheServiceLoggerServiceEnableDefineServiceMyDefineImportSelectorEnableDemoTest@EnableAutoConfiguration注解的实现原理selectImportsgetAutoConfigurationEntrySpringFactoriesLoa
2023-06-20 17:39:12
118
1
原创 全面解析 - Spring注解发展史
Spring注解编程发展史1.Spring注解编程的发展过程1.1 Spring 1.x1.2 Spring 2.xSpring 2.5之前@Required@Repository@AspectSpring2.5 之后1.3 Spring 3.x@ComponentScan@Import静态导入ImportSelectorImportBeanDefinitionRegistrar@EnableXXX1.4 Spring 4.x1.5 Spring 5.x
2023-06-20 11:34:30
138
原创 【Spring】-02- 分析一下【DI】原理
一、DI介绍,并搞明白几个问题1. 哪些地方会有依赖2. 依赖注入的本质是什么?3. 参数值、属性值有哪些?4. 直接赋值有哪些?二、构造注入1.构造注入分析2. BeanReference3. BeanDefinition实现4.BeanFactory实现5.缓存功能6. 循环依赖问题三、属性注入1. 属性依赖分析2.BeanDefinition实现3.BeanFactory实现4.循环依赖问题
2023-06-15 19:36:22
94
原创 【Spring】-01- 分析一下【IOC】原理
一、IoC分析1.Spring的核心2. 先搞清楚几个问题2.1 IoC是什么?2.2 IoC有什么好处?2.3 IoC容器做了什么工作?2.4 IoC容器是否是工厂模式的实例?二、IoC设计分析1.Bean工厂的作用2.Bean工厂的初步设计3.Bean的定义3.1 Bean定义的作用是什么?3.2 获取实例的方式有哪些?3.3 我们需要在BeanDefinition中给Bean工厂提供哪些信息?3.4 增强功能要求4.Bean的注册5.BeanFactory设计三、Io
2023-06-15 11:23:04
64
原创 【MySQL中的事务】- 02 - MVCC原理
1. MVCC1.1.MVCC原理1.1.1.复习事务隔离级别1.1.2.版本链1.1.3.ReadView1.1.4.READ COMMITTED脏读问题的解决不可重复读问题但会出现不可重复读问题。1.1.5.REPEATABLE READREPEATABLE READ解决不可重复读问题1.1.6.MVCC下的幻读解决和幻读现象1.1.7.MVCC小结
2023-05-15 22:47:01
90
原创 【MySQL中的事务】- 01 - 特性、问题、隔离级别
1. MySQL的事务基础1.1.为什么需要事务1.2.事务特性1.2.1.原子性(atomicity)1.2.2.一致性(consistency)1.2.3.持久性(durability)1.2.4.隔离性(isolation)1.3.事务并发引发的问题1.3.1.脏读1.3.2.不可重复读1.3.3.幻读1.4.SQL标准中的四种隔离级别1.5.MySQL中的隔离级别1.5.1.如何设置事务的隔离级别1.6.MySQL事务1.6.1.事务基本语法1.6.2.保存点1.6
2023-05-15 22:43:03
62
原创 【MySQL中的锁】- 并发事务、锁粒度、死锁
1. MySQL中的锁1.1.解决并发事务问题1.2.并发事务问题1.2.1.方案一:读操作MVCC,写操作进行加锁1.2.2方案二:读、写操作都采用加锁的方式1.3锁定读(LockingReads)/LBCC1.3.1. 共享锁和独占锁1.3.2.锁定读的SELECT语句1.3.3. 写操作的锁1.4锁的粒度1.4.1.表锁与行锁的比较1.4.2.给表加S锁1.4.3.给表加X锁1.5.意向锁1.6.MySQL中的行锁和表锁1.6.1.其他存储引擎中的锁1.6.2.Inno
2023-05-11 17:36:32
157
原创 【MySQL的执行原理】-03- MySQL的查询成本
3.MySQL的查询成本3.1.什么是成本3.2.单表查询的成本3.2.1.基于成本的优化步骤实战1). 根据搜索条件,找出所有可能使用的索引2). 计算全表扫描的代价3). 计算使用不同索引执行查询的代价a 使用idx_expire_time执行查询的成本分析b 使用idx_order_no执行查询的成本分析c 是否有可能使用索引合并(Index Merge)4). 对比各种方案,找出成本最低的那一个3.3.Explain与查询成本3.3.1.EXPLAIN输出成本3.3.2.O
2023-05-10 19:59:02
199
原创 【Linux入门】11-Linux shell命令02
Linux shell命令026、Shell 传递参数7、运算符8、Shell命令9、流程控制10、函数
2023-05-10 13:37:13
79
原创 【Linux入门】10-Linux shell命令01
Linux shell命令011、Shell简介2、Shell变量3、Shell字符串4、Shell 数组5、Shell 注释
2023-05-10 13:35:17
35
原创 【Linux入门】06-Linux基本命令02
Linux基本命令021、head2、which3、whereis4、locate5、find6、chmod7、chown8、tar9、date10、cal11、grep12、ps13、kill
2023-05-10 12:01:21
56
原创 【Linux入门】05-Linux基本命令01
Linux基本命令011、mkdir2、touch3、rm 命令4、rmdir 命令5、mv 命令6、cp 命令7、cat命令8、more 命令9、less
2023-05-10 11:54:16
43
原创 【Linux入门】04-Linux文件与路径
Centos没有盘符这个概念,只有一个根目录/,所有文件都在它下面```bash[root@localhost ~]# ls /bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var```
2023-05-10 11:47:10
54
原创 【Linux入门】03-网络配置与SSH远程
安装完VM与系统后,需要进行网络配置。第一个目标为可以进行SSH连接,可以从本机到VM进行文件传送 我们系统安装好后,需要配置网络 同时需要先下载安装一款远程软件: FinalShell
2023-05-10 11:39:32
57
原创 【云原生】一文了解云原生全景
云(Cloud)原生(Native)云原生(CloudNative)云原生计算基金会(Cloud Native Computing Foundation,CNCF)成立于2015年12月11日,由谷歌与Linux基金会联合创办,成立这个非盈利组织的目的是为了推广、孵化和标准化云原生相关的技术。
2023-05-09 15:57:18
256
近5年133个Java面试问题列表
2017-12-25
超详细Spring面试题和答案
2017-12-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人