自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 spring如何解决循环依赖

上次我们说到了springbean的生命周期,详见我的另外一篇博客 springbean的生命周期源码解析 我们提了几个问题: 为什么要默认支持单例模式 为什么在第5步的时候在前面就要调用getSingleton方法,而后在后面的重载的getSingleton方法中对类进行实例化? 为什么要设置三级缓存? 这些问题都将在spring解决循环依赖的时候解决 ...

2020-04-14 15:37:04 163

原创 spring bean的生命周期源码解析

源码分析Spring IOC与Bean的生命周期什么是Ioc(控制反转)/DI(依赖注入)?Bean的生命周期源码分析 说在前面:spring的源码极其庞大,虽然这里我们只讨论bean的生命周期,所谓生命周期就是一个普通对象走完了spring为它设置好的“陷阱”,其实就是一系列函数改变这个对象,函数一环扣一环,希望大家耐心看第一次看可能会有些吃力,所以跟着debug会比较好,我这里只讲关于IOC和...

2020-04-09 12:08:27 609 3

原创 手动实现一个Mybatis

Mybatis是Java很常用的一个持久层的框架,减少了很多的开发,但是同时应该给初学者留下了不少的问题:为什么mapper中的接口不需要实现类就会调用sql语句, 怎么样和spring整和的。 首先第一步,我们先纯Mybatis看看,他是怎么实现接口不需要实现类而实现一系列操作的。 在官方文档的快速开始Mybatis的介绍中,有这样一行代码 BlogMapper mapper = session...

2020-02-28 18:49:58 440

原创 ReentrantLock底层源码分析

synchronized关键字的扩展:重入锁(ReentrantLock): public class ReentrantLock implements Runnable{ public static ReentrantLock lock = new ReentrantLock(); public static int i = 0; public void run(){ ...

2020-02-24 21:36:00 161

原创 Java集合详解 Collection包

1.Collection接口 下面是Collection接口的大概示意图: Collection接口,我们所熟悉的一些容器(集合)接口全部继承自它,比如List,Set,这些相对于我们之前用的数组,要厉害的多,但是这些集合有些底层也是用数组实现的。 ​ 数组有下面的一些缺点: ​ ①长度固定 ​ ②只能存储一种类型的对象 ​ ③查询很快但是增删改很费劲 ​ Collection接口规定了一...

2019-08-27 11:26:21 1858 2

原创 leetcode-无重复字符的最长子串-Java队列

队列秒解,就是过程可能要自己消化一下。 同时也可以帮你了解一下Java内置的数据结构队列。 Queue<>在Java中是一个 接口,有很多实现类,这里就和Stack<>不太一样,Stack是一个类,Queue的实现类中我们最常用LinkedList,提供了足够我们使用的对队列的操作。 下面说思路 首先根据leetcode的尿性,肯定有字符串为空的测试样例,所以判断一下空字符...

2019-08-06 00:40:27 209

原创 快速排序Java版(递归与非递归)

快速排序(Java版) 听名字就很diao,直接上干货。(杠精别打我,支点的英文是pivot,我全拼错了) 快排一定要思路清晰,没事多写几遍,要不容易忘。 对于一个数组对它进行排序,快排的思想就是交换交换再交换,我们先选择一个支点 int privot,这个支点的作用是,我们要将一个什么都不是的数组,经过第一遍快排,以这个支点就是数组中的某一个元素(一般以数组的第一个元素选择为支点)为分界线,这个...

2019-07-03 19:36:29 4228 4

原创 Mybatis逆向工程加载配置文件时Result Maps collection already contains value for

出现这种错,大概率是你的ResultMap重复了,重复的原因有很多,一定是你没找见 用Mybatis逆向工程生成的,一定要注意,你的配置文件一定不要有错,去官方文档就可以找见人家提供好的模板,但是在改自己的文件路径的时候,!!!!千万不要有错!!!! 一旦有错你刷新项目后你会发现,JavaBean或者Mapper接口或者Mapper映射文件没有加载进去,这时候你肯定不停运行加载,但是你运行几次,你...

2019-04-25 09:27:21 526

原创 AOP动态代理和静态代理

静态代理 前言(其实挺重要的) 本来静态代理不放代码的,但是没有静态代理我们很难引出动态代理,所以就从头来吧,我们一起复习一下,我们先来说代理,它是java的一种设计模式,就是因为有了某些场景,特定的需求,于是有了一种设计模式去解决相应的问题 我们来看下面的代码:(有一定JDBC基础) public class EmployeeServiceImpl implements IEmployeeSe...

2019-04-13 11:43:12 356 2

空空如也

空空如也

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

TA关注的人

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