- 博客(9)
- 资源 (2)
- 收藏
- 关注
原创 LinkedBlockingDeque
1、概述LinkedBlockingDeque:线程安全 队列可以指定容量大小 使用内部类Node作为链表的节点 双端队列,可以从头尾部进行插入和拿取元素 单锁模式/双等待队列:采用生产者和消费者模式,并且都有对应的锁(ReentrantLock)2、源码分析以及条件等待队列2、源码分析源码大致和LinkedBlockingQueue差不多。只不过插入和拿取元素逻辑不通,Deque可以从首尾操作。3、区别LinkedBlockingQueue(简称queue)和Lin..
2021-08-27 10:35:15 119
原创 ArrayBlockingQueue
1、概述ArrayBlockingQueue:线程安全 一个循环队列,通过两个下标来表明 拿/放 元素在队列中的位置 使用数组用来存放数据,符合FIFO,先进先出 单锁模式/双等待队列:采用生产者和消费者模式,共用一把锁2、源码分析public class ArrayBlockingQueue<E> extends AbstractQueue<E> implements BlockingQueue<E>, java.io.Se.
2021-08-22 11:55:14 137
原创 Spring IOC源码之(2)obtainFreshBeanFactory
obtainFreshBeanFactory作为refresh中重要方法之一,主要承担了创建容器,解析配置文件、注解类中的bean信息,并注册进容器等相关工作。此时的bean是一个还未初始化的实例,接下来就一步步去了解Spring源码...
2021-03-06 21:41:38 136
原创 Spring IOC源码之BeanFactory、ApplicationContext
目录BeanFactory的整体结构关系ApplicationContext的整体结构关系Spring框架的整体核心围绕着BeanFactory、ApplicationContext来进行开展,接下来分别对这两接口进行简单的分析BeanFactory的整体结构关系ApplicationContext的整体结构关系为了方便看图,将ApplicationContext分为三个部分进行分析进行分析进行分析进行分析...
2021-03-03 22:44:11 84
原创 Spring IOC源码之(1)prepareRefresh
工作中一直和Spring框架打交道,可是从来都没有真正去了解过该它。只知道Spring框架给项目带来极大的便利,降低了代码之间的耦合度,而不至于牵一发而动全身,还提供了非常丰富的扩展点、高级特性等等。其中最为重要是IOC、AOP。接下来抽出一段时间来记录阅读框架的点点滴滴为了更好的梳理整条线大致的流转,用一张图贯穿始终,方便自己的记住Spring的大致脉络。先确定始终,始:包含Bean的定义信息配置文件,终:Bean定义信息封装在BeanDefinition中,并保存在DefaultListable.
2021-03-02 10:56:40 170
原创 GenericApplicationContext
这段时间在debug研究Spring框架的源码,发现AbstractApplicationContext有两个分支,分别为AbstractRefreshableApplicationContext和GenericApplicationContext,前者是我最近研究源码的主线,后者没有关注过,特此记录,使用IDEA看看两个分支的继承结构AbstractRefreshableApplicationContextGenericApplicationContext从源码发现几个特性。内部.
2021-02-25 16:02:05 1545
原创 同步异步和阻塞非阻塞
coding同步异步的时候,知道其中的意思,但是真要用大白话表达时,嘴巴就像灌了铅一样,还是先记录一波,给自己加深下印象同步异步和阻塞非阻塞同步:调用者(当前线程)主动的等待结果的返回异步:被调用者通过状态或其它来通知调用者(当前线程)有结果的返回阻塞:调用者(当前线程)一直等待结果的返回非阻塞:调用者(当前线程)在得到结果之前,不会一直等待,而是去处理其他的事情形象的比喻就拿不太雅的寻坑、蹲坑来比喻,目的就是为了加深印象同步阻塞:等坑位,你(线程)一直盯着该坑位,等的期间不去做其他的
2020-09-05 11:38:49 51
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人