上一页 1 2 3 4 5 6 7 ··· 10 下一页
摘要: 前言:在【spring源码分析】IOC容器初始化(六)中分析了从单例缓存中加载bean对象,由于篇幅原因其核心函数 FactoryBeanRegistrySupport#getObjectFromFactoryBean并未进行详细分析,本文将继续对bean加载过程的分析。 FactoryBeanRe 阅读全文
posted @ 2019-04-22 16:26 developer_chan 阅读(673) 评论(0) 推荐(0) 编辑
摘要: 前言:经过前几篇文章的讲解,我们已经得到了BeanDefinition,接下来将分析Bean的加载。 获取Bean的入口:AbstractApplicationContext#getBean 分析:首先检查BeanFactory是否存活,还记得之前分析过的prepareRefresh()方法吗?如果 阅读全文
posted @ 2019-04-22 16:17 developer_chan 阅读(640) 评论(0) 推荐(0) 编辑
摘要: 前言:上篇文章,笔者分析了jdk1.7中HashMap的源码,这里将对jdk1.8的HashMap的源码进行分析。 注:本文jdk源码版本为jdk1.8.0_172 1.再看put操作 jdk1.8中的hash算法: 再看put操作的核心函数: 重点: jdk1.8中HashMap在进行put操作时 阅读全文
posted @ 2019-03-09 22:26 developer_chan 阅读(495) 评论(1) 推荐(1) 编辑
摘要: 前言:相信不管在生产过程中还是面试过程中,HashMap出现的几率都非常的大,因此有必要对其源码进行分析,但要注意的是jdk1.8对HashMap进行了大量的优化,因此笔者会根据不同版本对HashMap进行分析,首先我们来看jdk1.7中HashMap的原理。 注:本文jdk源码版本为jdk1.7. 阅读全文
posted @ 2019-03-05 18:31 developer_chan 阅读(599) 评论(0) 推荐(0) 编辑
摘要: 前言:我们都知道HashMap是线程不安全的,在多线程环境中不建议使用,但是其线程不安全主要体现在什么地方呢,本文将对该问题进行解密。 1.jdk1.7中的HashMap 在jdk1.8中对HashMap做了很多优化,这里先分析在jdk1.7中的问题,相信大家都知道在jdk1.7多线程环境下Hash 阅读全文
posted @ 2019-03-02 10:52 developer_chan 阅读(31076) 评论(3) 推荐(15) 编辑
摘要: 前言:对于Java线程状态方面的知识点,笔者总感觉朦朦胧胧,趁着最近整理资料,将Java线程状态方面的知识点总结归纳,以便加深记忆。 1.Java线程状态值 在Thread类源码中通过枚举为线程定义了6种状态值。 2.线程状态转换 看图理解,下图对线程状态转换描述得非常清楚。 继续看图,将上下两张图 阅读全文
posted @ 2019-02-17 16:41 developer_chan 阅读(3563) 评论(0) 推荐(1) 编辑
摘要: 前言:在Java多线程中,中断一直围绕着我们,当我们阅读各种关于Java多线程的资料、书籍时,“中断”一词总是会出现,笔者对其的理解也是朦朦胧胧,因此非常有必要搞清楚Java多线程的中断机制。 1.Java中断机制是什么 Java 中断机制是一种协作机制,也就是说通过中断并不能直接终止另一个线程,而 阅读全文
posted @ 2019-02-17 10:53 developer_chan 阅读(994) 评论(0) 推荐(0) 编辑
摘要: 前言:在最新的阿里规范中强制使用ThreadPoolExecutor方式创建线程池,不允许使用Executors,因此有必要对ThreadPoolExecutor进行进一步了解。 1.ThreadPoolExecutor介绍 线程池类,直接看其入参最多的构造函数: 参数意义: corePoolSiz 阅读全文
posted @ 2019-02-16 16:20 developer_chan 阅读(1423) 评论(6) 推荐(1) 编辑
摘要: 前言:在对AQS框架进行分析的过程中发现了很多CAS操作,因此有必要对CAS进行一个梳理,也便更清楚的了解其原理。 1.CAS是什么 CAS,是compare and swap的缩写,中文含义:比较交换。 CAS操作包含三个操作数——需要读写的内存值(V)、预期原值[进行比较的值](A)和新值(B) 阅读全文
posted @ 2019-01-30 16:55 developer_chan 阅读(2266) 评论(0) 推荐(1) 编辑
摘要: 前言:AQS框架在J.U.C中的地位不言而喻,可以说没有AQS就没有J.U.C包,可见其重要性,因此有必要对其原理进行详细深入的理解。 1.AQS是什么 在深入AQS之前,首先我们要搞清楚什么是AQS。AQS全称是AbstractQueuedSynchronizer,我们直接查看AQS源码的注释。 阅读全文
posted @ 2019-01-30 10:55 developer_chan 阅读(663) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 10 下一页