自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ArrayBlockingQueue的使用及源码解析

ArrayBlockingQueue的使用及源码解析入队方法演示addofferputpublic static void main(String[] args) throws InterruptedException { ArrayBlockingQueue<Integer> arrayBlockingQueue = new ArrayBlockingQueue<>(3); for (int i = 0;i < 4;i++){

2021-10-13 18:19:20 155

转载 DelayQueue的使用及源码解析

DelayQueue的使用及源码分析首先感谢这位博客的作者:https://blog.csdn.net/dkfajsldfsdfsd/article/details/88966814让我理解了DelayQueue中Leader-Followr模式的使用。基本原理DelayQueue是一个没有边界BlockingQueue实现,加入其中的元素必需实现Delayed接口。当生产者线程调用put之类的方法加入元素时,会触发Delayed接口中的compareTo方法进行排序,也就是说队列中元素的顺序是按到期

2021-10-12 10:51:52 164

原创 mysql的事务隔离级别

mysql的事务隔离级别​ 经常看到mysql事务的隔离级别,每次都是简单看一下就略过去了,根本就没有理解,这次深入理解了一下,特地记录一下,方便下次进行回顾。事务隔离级别读未提交:就是事务A能读取到事务B未提交的数据,导致出现脏读。读提交:就是事务A能读取到事务B已经提交的数据,事务C未提交,那么事务A就读取不到,解决了脏读问题,但是未解决可重复读的问题。可重复读:就是事务A从开启到结束,读取到的数据都是一样的,不受事务B的影响。串行化:顺序执行隔离级别脏读不可重复读

2021-10-12 10:44:51 93

原创 责任链模式的学习

责任链模式的学习定义顾名思义,责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依此类推。责任链模式UML图Filter:过滤器的抽象接口TitleFilter:标题过滤器,实现了Filter接口ArticleAbstract

2021-10-06 22:13:34 166

原创 LinkedList源码解析

LinkedList源码解析集合结构图对集合类的源码分析主要从一下几个方面进行:常量构造器增、删、改、查迭代器Deque的增、删、改、查常量/***大小*/transient int size = 0;/*** 头结点*/transient Node<E> first;/*** 尾结点*/transient Node<E> last;从常量可以看出,LinkedList中的每个位置是节点Node,那就先看一下Node的结构//链

2021-10-06 22:00:08 152

原创 HashMap源码解析

HashMap源码解析集合结构图附上一张JDK1.8HashMap的存储结构图对集合类的源码分析主要从一下几个方面进行:常量构造器内部关键对象增、删、改、查迭代器常量//默认容量,16static final int DEFAULT_INITIAL_CAPACITY = 1 << 4;//最大容量,2的30次方static final int MAXIMUM_CAPACITY = 1 << 30;//加载因子,用于扩容使用,到达阈值触发扩容stat

2021-08-15 13:50:15 146

原创 mybatis的一对一、一对多、多对多查询学习

mybatis的一对一、一对多、多对多查询学习对于mybatis的几种关联查询的总结记录,废话不多说,直接开始。一对一数据库表student:学生表student_card:学生卡例子studentMapper.xml<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybati

2021-06-19 16:55:28 423

原创 资源自动关闭接口Closeable解析

资源自动关闭接口Closeable解析定义Closeable:是可以关闭的数据源或目标。调用 close 方法可释放对象保存的资源(如打开文件)。Closeable的UML图AutoCloseable:JDK提供的自动关闭接口Closeable:JDK提供的关闭接口,继承AutoCloseableMyInputStream:自定义的接口,模拟JDK的InputStreamMyInputStreamImpl:MyInputStream的实现类实例代码如下,演示一下自动关闭的功能:publi

2021-06-15 15:16:45 2261 1

原创 观察者模式的解析

观察者模式的学习定义指多个对象间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。这种模式有时又称作发布-订阅模式、模型-视图模式,它是对象行为型模式。哈哈,定义就是用专业术语介绍专业术语,特别难理解,下面通过一个例子来解析。观察者模式UML图Observer:观察者,在发布订阅中充当订阅者,jdk提供的Observable:被观察者,在发布订阅充当发布者,jdk提供的Subscriber:订阅者Publisher:发布者public interf

2021-05-31 18:21:03 342

原创 ArrayList源码分析

ArrayList源码分析集合结构图对集合类的源码分析主要从一下几个方面进行:常量构造器增、删、改、查迭代器常量/*** 默认的初始化容量*/private static final int DEFAULT_CAPACITY = 10;/*** 一个空数组*/private static final Object[] EMPTY_ELEMENTDATA = {};/*** 一个空数组*/private static final Object[] DEFAULT

2021-05-29 11:28:46 299

原创 策略模式的解析

策略模式的学习策略模式定义在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。看完定义是不是和没看过一下,完全不知道怎么回事,下面就通过UML图和例子进行详细的说明。策略模式UML图[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d11tbptu-162210

2021-05-27 17:27:11 313

原创 mysql索引深入解析

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-01-25 17:04:12 170

空空如也

空空如也

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

TA关注的人

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