- 博客(6)
- 收藏
- 关注
原创 Spring Bean加载过程 如何解决循环依赖问题?
这篇文章探讨一下Spring如果解决循环依赖问题 首先明确一点:我们如果不用Spring,单纯的自己创建对象来用,是不需要关注什么循环依赖的 Spring之所以要解决循环依赖问题,是因为其特殊的Bean创建、依赖注入的这个流程 ...
2022-05-06 16:21:42
787
原创 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
760
原创 Spring Bean加载过程 getBean方法整体流程梳理 (1)
想梳理一下getBean方法的整体流程 先对整体流程有一个了解,后续再针对每个细节详细分析 测试代码如下: AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class); context.getBean("user"); ApplicationContext接口继承了BeanFactory接口,所以它也继承了getBean方法 方法实现在抽象类AbstractAppl
2022-04-28 11:46:27
412
原创 java线程池 延迟执行和定时任务的实现原理
我们先来看看java线程池实现定时任务的一个简单实现demo 我们执行了一个 :延迟1秒钟开始执行并且每隔1秒钟执行一次的定时任务 scheduleAtFixedRate方法第一个参数传入一个lamda表达式的Runnable对象,输出当前执行该任务的线程的名称,和执行时距离开始时间的一个时间差 public class ScheduleTask { public static void main(String[] args) { //当前时间 .
2020-06-03 18:15:29
3961
原创 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
254
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
4