- 博客(6)
- 收藏
- 关注
原创 Spring Bean加载过程 如何解决循环依赖问题?
这篇文章探讨一下Spring如果解决循环依赖问题首先明确一点:我们如果不用Spring,单纯的自己创建对象来用,是不需要关注什么循环依赖的Spring之所以要解决循环依赖问题,是因为其特殊的Bean创建、依赖注入的这个流程...
2022-05-06 16:21:42
692
原创 Spring Bean加载过程 getBean方法整体流程梳理 (2)
这节分析一下AbstractBeanFactory.createBean方法做了什么具体实现在AbstractAutowireCapableBeanFactory.createBean中protected Object createBean(String beanName, RootBeanDefinition mbd, @Nullable Object[] args) throws BeanCreationException { // ... try { // 实例化前方法 /
2022-04-29 16:49:58
715
原创 Spring Bean加载过程 getBean方法整体流程梳理 (1)
想梳理一下getBean方法的整体流程先对整体流程有一个了解,后续再针对每个细节详细分析测试代码如下:AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);context.getBean("user");ApplicationContext接口继承了BeanFactory接口,所以它也继承了getBean方法方法实现在抽象类AbstractAppl
2022-04-28 11:46:27
329
原创 java线程池 延迟执行和定时任务的实现原理
我们先来看看java线程池实现定时任务的一个简单实现demo我们执行了一个 :延迟1秒钟开始执行并且每隔1秒钟执行一次的定时任务scheduleAtFixedRate方法第一个参数传入一个lamda表达式的Runnable对象,输出当前执行该任务的线程的名称,和执行时距离开始时间的一个时间差public class ScheduleTask { public static void main(String[] args) { //当前时间 .
2020-06-03 18:15:29
3710
原创 java join方法解析
一般并发的演示:这里主线程创建了一个与它对等的线程t public static void main(String[] args) throws InterruptedException { Thread t = new Thread(new Runnable() { @Override public void run() {
2020-05-16 09:32:09
213
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人