暂时未有相关云产品技术能力~
全网同名,主要在B站和公众号分享。内容:大厂高并发项目案例、高频面试题、经验分享
这篇文章本该发表于2018年4月份末,在 排序算法:快速排序 之后,但是不知道什么原因,这篇文章忘了在CSDN上发表,今天在看博客的时候突然发现,因此补上。
本文只会单独介绍 @Autowire 的部分内容,具体 @Autowire 注解的完整过程,需要结合 Spring IoC:createBean详解(上)中代码块4.5 和 Spring IoC:createBean详解(下)中代码块1、代码块4的 7.1.1 去看。
接着 Spring IoC:createBean详解(上),我们继续解析创建 bean 实例的剩下内容。
接着 Spring IoC:getBean详解,我们继续解析获取 bean 实例里的核心内容:创建 bean 实例。
接着 Spring IoC:finishBeanFactoryInitialization详解,我们正式开始学习获取 bean 实例方法,该方法是 Spring 最核心的方法。
在介绍了obtainFreshBeanFactory、invokeBeanFactoryPostProcessors、registerBeanPostProcessors 三个重要方法后,我们终于来到了最后一个重要方法:finishBeanFactoryInitialization。finishBeanFactoryInitialization是这四个方法中最复杂也是最重要的,是整个 Spring IoC 核心中的核心。
在 Spring IoC:invokeBeanFactoryPostProcessors解析 中我们介绍了 invokeBeanFactoryPostProcessors 方法,而本文将介绍另一个类似的方法——registerBeanPostProcessors。
随着 Spring IoC:context:component-scan节点解析 的结束,obtainFreshBeanFactory 方法的解析也告一段落,我们通过5篇文章,完整的介绍了obtainFreshBeanFactory 方法。本文将介绍 obtainFreshBeanFactory 方法之后的另一个重要方法——invokeBeanFactoryPostProcessors。
在 Spring IoC:parseCustomElement详解 中,我们介绍了自定义命名空间节点解析的大部分内容,但是还剩下节点解析的具体过程。本文将以<context:component-scan /> 节点为例子,介绍自定义命名空间 context 的 component-scan 节点的解析过程。
我们通过 Spring IoC:parseDefaultElement详解 解析了默认命名空间节点的解析,本文将解析自定义命名空间节点的解析。
接着 Spring IoC:obtainFreshBeanFactory详解 继续往下解析,本文来到 parseDefaultElement 方法。该方法是解析默认命名空间节点的方法,是加载 bean 定义模块的最核心方法。
接下来是 obtainFreshBeanFactory 方法,该方法用于获得一个新的 BeanFactory,本文将详细介绍该方法。
位图法:判断一个数是否在40亿个整数中?
Spring IoC源码学习:ApplicationContext 刷新前的配置
本系列文章只能作为学习 Spring IoC 源码中的一个参考,强烈不建议只看本系列的文章,而不自己去阅读 Spring 的源码。
本文类似于一个Java开发的“工具箱”,会记录一些Java开发者常用到的工具,例如:工具的一些环境配置、常用的技术网站等。本文不会一下子就有很多内容,会不断的完善。
使用Guava实现限流器
MyBatis根据表结构自动生成PO/Mapper代码的最佳实践
本文将介绍目前Java项目中最常见的Log4j2 + Slf4j的使用组合,这也是我自己项目中目前使用的。
排序算法:快速排序
上一次,我们介绍了排序算法中“龟速三兄弟”的二哥“插入排序”。今天,我们继续介绍“龟速三兄弟”中的小弟——“选择排序”。和二哥“插入排序”一样,由于同样是“龟速三兄弟”中的一员,但是处理过程没有大哥“冒泡排序”那么简单明了,因此有不少人可能都没接触过“选择排序”,本文将通过例子来介绍“选择排序”的完整过程。
上一次,我们介绍了排序算法中“龟速三兄弟”的大哥“冒泡排序”。今天,我们继续介绍“龟速三兄弟”中的二哥——“插入排序”。“冒泡排序”的过程和代码相信大多数人都比较熟悉,但是“插入排序”就不见得了。由于同样是“龟速三兄弟”中的一员,但是处理过程没有“冒泡排序”那么简单明了,因此有不少人可能都没接触过“插入排序”,本文将通过例子来介绍“插入排序”的完整过程。
谈到排序算法,第一个浮现在我们脑中的一定是“冒泡排序”。“冒泡排序”由于较简单的过程,得到大多数程序员的“厚爱”,本文将简单的介绍排序算法的整个过程。
最近看见一道有意思的面试题,是关于自增操作的,让我回想起以前自己也遇到过,并且曾经也让我困惑过,今天拿出来跟大家分享,希望对大家有帮助。
最近逛知乎的时候,经常看到有人在问“0基础如何自学Java”、“干了几年**,想转行干Java靠谱吗”等问题。不禁让我回想起了自己当初自学Java的日子,因此在这个周末花了点时间,整理了这篇文章,希望对这些正打算自学Java的或者打算转行Java的人有点帮助。
现在面试Java开发时,基本都会问到Java虚拟机的知识,根据职位不同问的内容深浅又有所区别。本文整理了10道面试中常问的Java虚拟机面试题,希望对正在面试的同学有所帮助。
Java虚拟机面试题精选(一)
今天向大家分享一道Java面试题目,这道题是我自己设计的题目。
面试必问的CAS,你懂了吗?
单例模式详解
volatile关键字可以说是Java虚拟机提供的最轻量级的同步机制,但是它并不容易完全被正确、完整地理解,以至于许多程序员都习惯不去使用它,遇到需要处理多线程数据竞争问题的时候一律使用synchronized来进行同步。了解volatile变量的语义对了解多线程操作的其他特性很有意义,在本文中我们将介绍volatile的语义到底是什么。由于volatile关键字与Java内存模型(Java Memory Model,JMM)有较多的关联,因此在介绍volatile关键字前我们会先介绍下Java内存模型。
Java并发:Condition详解
Java并发:AbstractQueuedSynchronizer详解(独占模式)
本文就LinkedList的几个主要方法展开介绍,并结合几个图片来介绍几个重要操作。
Java集合:ArrayList详解
Java并发:性能与可伸缩性
Java并发:同步工具类详解(CountDownLatch、CyclicBarrier、Semaphore)
Java并发:线程池详解(ThreadPoolExecutor)
Java并发:InheritableThreadLocal详解
如何养成学习的习惯
史上最详细的 JDK 1.8 HashMap 源码解析
Java并发:线程安全与锁优化
Java并发:Java内存模型(JMM)与线程
Java虚拟机:内存分配与回收策略
Java虚拟机:垃圾收集原理和垃圾收集器
Java虚拟机:Java内存区域
Java并发:ThreadLocal详解
ConcurrentHashMap详解
Linux上ftp命令行下载文件与上传文件命令应用
Spring事务配置及事务的传播性与隔离级别详解