自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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 117

原创 【动图演示排序算法】-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 123

原创 【动图演示排序算法】-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 97

原创 【动图演示排序算法】-0- 概述及汇总

1、基本介绍2、排序算法的分类算法分类算法总结

2023-08-10 13:43:11 35

原创 【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 61

原创 【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 39

原创 【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 57

原创 【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 76

原创 【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 45

原创 【MyBatis】-07- 日志模块解析

日志模块解析1、Log2、LogFactory3、 日志应用4、JDBC 日志4.1 BaseJdbcLogger4.2 ConnectionLogger4.3 应用实现

2023-08-09 14:54:48 43

原创 【MyBatis】-06- 缓存模块详解

缓存模块详解1. Cache接口2. PerpetualCache3.BlockingCache4. 缓存的应用4.1 缓存对应的初始化4.2 一级缓存4.3 二级缓存4.4 第三方缓存

2023-08-09 14:53:18 38

原创 【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 54

原创 【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 50

原创 【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 71

原创 【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 45

原创 【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 91

原创 SpringBoot自动装配原理分析

自动装配源码分析自动装配的演示深入分析EnableAutoConfigurationAutoConfigurationImportSelector是什么?CacheServiceLoggerServiceEnableDefineServiceMyDefineImportSelectorEnableDemoTest@EnableAutoConfiguration注解的实现原理selectImportsgetAutoConfigurationEntrySpringFactoriesLoa

2023-06-20 17:39:12 85 1

原创 SPI示例及源码分析

SPI示例及源码分析什么是SPI案例介绍源码查看

2023-06-20 11:51:11 203

原创 全面解析 - Spring注解发展史

Spring注解编程发展史1.Spring注解编程的发展过程1.1 Spring 1.x1.2 Spring 2.xSpring 2.5之前@Required@[email protected] 之后1.3 Spring 3.x@ComponentScan@Import静态导入[email protected] Spring 4.x1.5 Spring 5.x

2023-06-20 11:34:30 109

原创 【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 81

原创 【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 59

原创 【源码学习】- SpringBoot - 环境准备

环境准备1.官方源码下载2.本地源码编译3.源码环境使用

2023-06-13 14:42:39 46

原创 【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 81

原创 【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 51

原创 【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 144

原创 【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 119

原创 【Linux入门】12-Linux的软件安装

Linux的软件安装1、rpm软件安装包2、yum命令

2023-05-10 14:40:04 27

原创 【Linux入门】11-Linux shell命令02

Linux shell命令026、Shell 传递参数7、运算符8、Shell命令9、流程控制10、函数

2023-05-10 13:37:13 66

原创 【Linux入门】10-Linux shell命令01

Linux shell命令011、Shell简介2、Shell变量3、Shell字符串4、Shell 数组5、Shell 注释

2023-05-10 13:35:17 31

原创 【Linux入门】09-Linux快照与克隆

Linux快照与克隆1、快照2、克隆

2023-05-10 13:28:07 58

原创 【Linux入门】08-Linux网络

Linux入门Linux网络Linux网络配置文件

2023-05-10 13:24:20 24

原创 【Linux入门】07-Linux编辑器vim

Linux编辑器vim1、vi与vim的简介2、命令模式3、输入模式4、vim 中批量添加注释

2023-05-10 13:21:11 36

原创 【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 42

原创 【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 34

原创 【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 37

原创 【Linux入门】03-网络配置与SSH远程

安装完VM与系统后,需要进行网络配置。第一个目标为可以进行SSH连接,可以从本机到VM进行文件传送​ 我们系统安装好后,需要配置网络​ 同时需要先下载安装一款远程软件:​ FinalShell

2023-05-10 11:39:32 51

原创 【Linux入门】02-VM与Linux安装

VM与Linux安装1、安装VMware2、配置安装系统环境3、安装Centos系统

2023-05-10 11:37:32 139

原创 【Linux入门】01-Linux概述

Linux概述1、操作系统2、操作系统的发展史3、Linux发行版本

2023-05-09 16:16:53 43

原创 【云原生】一文了解云原生全景

云(Cloud)原生(Native)云原生(CloudNative)云原生计算基金会(Cloud Native Computing Foundation,CNCF)成立于2015年12月11日,由谷歌与Linux基金会联合创办,成立这个非盈利组织的目的是为了推广、孵化和标准化云原生相关的技术。

2023-05-09 15:57:18 141

原创 【矩阵】- “之”字形打印

矩阵相关的基操问题

2022-09-29 10:00:56 162

理解ThreadLocal

理解ThreadLocal 理解ThreadLocal 理解ThreadLocal 理解ThreadLocal

2017-12-29

近5年133个Java面试问题列表

多线程, 并发及线程基础 数据类型转换的基本原则 垃圾回收(GC) Java 集合框架 数组 字符串 GOF 设计模式 SOLID (单一功能、 开闭原则、 里氏替换、 接口隔离以及依赖反转) 设计原则 抽象类与接口 Java 基础, 如 equals 和 hashcode 泛型与枚举 Java IO 与 NIO 常用网络协议 Java 中的数据结构和算法 正则表达式 JVM 底层 Java 最佳实践 JDBC Date, Time 与 Calendar Java 处理 XML JUnit 编程

2017-12-25

超详细Spring面试题和答案

1.什么是spring? Spring是个java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用。Spring框架目标是简化Java企业级应用开发,并通过POJO为基础的编程模型促进良好的编程习惯。 2.使用Spring框架的好处是什么? 等等。。。

2017-12-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除