摘要: 计算机基本工作原理 冯诺依曼结构基本思想 冯诺依曼结构基本思想主要包括以下几个方面: 采用“存储程序”工作方式:将事先编写好的程序和原始数据送入主存后才能执行程序,一旦程序被启动执行,计算机能在不需要操作人员干预下自动完成逐条指令取出和执行的任务。 计算机由运算器、控制器、存储器、输入设备和输出设备 阅读全文
posted @ 2022-05-15 21:39 北洛 阅读(2013) 评论(0) 推荐(2) 编辑
摘要: 在上一章笔者介绍了ConfigurationClassParser.doProcessConfigurationClass(...)方法,在这个方法里调用了processImports(...)方法处理配置类的@Import注解,getImports(sourceClass)能从一个配置类上获取@I 阅读全文
posted @ 2021-08-28 22:06 北洛 阅读(306) 评论(0) 推荐(0) 编辑
摘要: 上一个章节,笔者向大家介绍了spring是如何来过滤配置类的,下面我们来看看在过滤出配置类后,spring是如何来解析配置类的。首先过滤出来的配置类会存放在configCandidates列表, 在代码<1>处会先根据配置类的权重做一个排序,权重越低的配置类排在越前,在解析的时候也越先解析。之后会根 阅读全文
posted @ 2021-08-22 21:06 北洛 阅读(190) 评论(0) 推荐(0) 编辑
摘要: ConfigurationClassPostProcessor 在前面一个章节,笔者和大家介绍了在构造一个应用上下文时,spring会执行到PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(...)方法,我们已经清楚这 阅读全文
posted @ 2021-08-18 21:11 北洛 阅读(345) 评论(0) 推荐(0) 编辑
摘要: 在上一章中笔者介绍了refresh()的<1>处是如何获取beanFactory对象,下面我们要来学习refresh()方法的<2>处是如何调用invokeBeanFactoryPostProcessors方法执行bean工厂后置处理器,这个方法在笔者看来是整个refresh()方法最重要的方法之一 阅读全文
posted @ 2021-08-05 18:36 北洛 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 先前,笔者和大家一起了解了ReentrantReadWriteLock的写锁实现,其实写锁本身实现的逻辑很少,基本上还是复用AQS内部的等待队列思想。下面,我们来看看ReentrantReadWriteLock的读锁实现。 当调用读锁的lock()方法时,会调用到Sync的父类AQS实现的acqui 阅读全文
posted @ 2021-07-08 20:36 北洛 阅读(203) 评论(0) 推荐(0) 编辑
摘要: ReentrantReadWriteLock 前情提要:在学习本章前,需要先了解笔者先前讲解过的ReentrantLock源码解析和Semaphore源码解析,这两章介绍了很多方法都是本章的铺垫。下面,我们进入本章正题ReentrantReadWriteLock。 ReentrantReadWrit 阅读全文
posted @ 2021-07-08 05:39 北洛 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 在上一章,我们学习了信号量(Semaphore)是如何请求许可证的,下面我们来看看要如何归还许可证。 可以看到当我们要归还许可证时,不论是调用release()或是release(int permits),都会调用AQS实现的releaseShared(int arg)方法。在releaseShar 阅读全文
posted @ 2021-07-04 18:09 北洛 阅读(270) 评论(0) 推荐(0) 编辑
摘要: Semaphore 前情提要:在学习本章前,需要先了解笔者先前讲解过的ReentrantLock源码解析,ReentrantLock源码解析里介绍的方法有很多是本章的铺垫。下面,我们进入本章正题Semaphore。 从概念上来讲,信号量(Semaphore)会维护一组许可证用于限制线程对资源的访问, 阅读全文
posted @ 2021-07-04 09:36 北洛 阅读(295) 评论(0) 推荐(0) 编辑
摘要: Condition 在上一章中,我们大概了解了Condition的使用,下面我们来看看Condition再juc的实现。juc下Condition本质上是一个接口,它只定义了这个接口的使用方式,具体的实现其实是交由子类完成。 public interface Condition { void awa 阅读全文
posted @ 2021-07-01 19:06 北洛 阅读(164) 评论(0) 推荐(0) 编辑