摘要: 1 前言 获取Bean我们大概都了解过了,这篇我们着重讲一下在获取bean的时候,出现的一个循环依赖的问题,这面试可以说是一道必问的题了,看的时候多想多看,别钻死牛角尖,我看的时候我陷入了一个牛角尖,我就在纠结为什么要用三个缓存来解决循环依赖呢,其实一个缓存也可以解决丫,干嘛要用三个呢。我总是陷入这 阅读全文
posted @ 2023-02-16 23:38 酷酷- 阅读(26) 评论(0) 推荐(1) 编辑
摘要: 1 前言 上一文,我们讲解了getBean里的一些过程,这节我们详细来讲一讲创建bean,也就是createBean。createBean默认的实现类是AbstractAutowireCapableBeanFactory,createBean会调用doCreateBean和createBeanIns 阅读全文
posted @ 2023-02-16 08:18 酷酷- 阅读(48) 评论(0) 推荐(1) 编辑
摘要: 1 前言 在本篇文章中,我们将会详细分析BeanFactory的getBean(String)方法实现细节及所调用的方法。 2 源码分析 首先我们先通读一下doGetBean方法,了解里边重点的几个步骤,然后我们再分析每个步骤里边具体都做了什么。 2.1 方法通读 方法的注释都写在里边了,涉及的东西 阅读全文
posted @ 2023-02-15 15:16 酷酷- 阅读(67) 评论(0) 推荐(0) 编辑
摘要: 1 前言 IDEA拉Spring源码,源码是Gradle管理依赖的,但是报错Unable to find method 'org.gradle.api.artifacts.result.ComponentSelectionReas 我的IDEA有2019、2021的 2 解决办法 用IDEA2021 阅读全文
posted @ 2023-02-15 08:14 酷酷- 阅读(578) 评论(0) 推荐(0) 编辑
摘要: 1 前言 了解了JVM的结构、运行时数据区的组成部分,继而了解一下JVM的一些常用配置参数。 2 参数分类以及常用命令 在Java虚拟机的参数中,有3种表示方法: 标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容; 非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证 阅读全文
posted @ 2023-02-13 21:50 酷酷- 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 1 前言及准备工作 Spring老生常谈,JavaWeb程序员的必备,程序员不看源码不懂源码,路走不长,所以耐心看,边看操作。 本文是 Spring IOC源码分析系列文章的导读文章,将会着重介绍 Spring 的一些使用方法和特性,为后续的源码分析文章做铺垫。 另外需要特别说明一下,本系列的源码分 阅读全文
posted @ 2023-02-13 16:15 酷酷- 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 1 前言 JVM的内存模型,想必大概都清楚了,可以看之前的文章,有讲解。那么JVM每个内存模型里都存哪些内容呢,本文来追一下。 2 内存模块存储内容 运行时数据区大概分5部分,方法区、堆、程序计数器、本地方法栈、虚拟机栈。 虚拟机栈也叫线程栈,是运行时的单位,解决程序运行时的逻辑控制;堆是存储的单位 阅读全文
posted @ 2023-02-13 13:54 酷酷- 阅读(497) 评论(0) 推荐(0) 编辑
摘要: 1 前言 讲多了Class文件、类加载过程,我们的Class文件就要进到JVM内存里了,那就先来了解下JVM内存模型都进行了哪些演变。 主要演变的就是:1.7、1.8 都是对方法区中的改变 概念的统一:我看一些文章说方法区、有永久代、有元空间这三者的关系是什么呢 (1)方法区可以看作是JVM逻辑上管 阅读全文
posted @ 2023-02-13 07:26 酷酷- 阅读(68) 评论(0) 推荐(0) 编辑
摘要: 1 前言 Class文件了解过了,那么接下来就要看JVM表演了。 JVM,在Java语言可以说是重中之重的存在,没有它Java程序是跑不起来的,Java的一次编译多次运行,也更离不开JVM的存在。 2 JVM整体结构 对于JVM存在很多的版本比如:HotSpot、早期的Sun ClassicVM、J 阅读全文
posted @ 2023-02-12 14:57 酷酷- 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 1 前言 JVM的入口数据就是每一个Class文件,我们上一篇,仔细分析了Class文件中的每个字节所代表的含义,那么它是如何加载进JVM的,这一篇我们来讲解。 Class文件的解释运行时数据本质是C++对象,也叫做KClass对象,这些运行时数据在JDK7及之前放在永久代(PermGen),JDK 阅读全文
posted @ 2023-02-11 19:15 酷酷- 阅读(182) 评论(0) 推荐(0) 编辑