12 2024 档案
摘要:beanFactory接口提供的定义 Object getBean(String name) throws BeansException; <T> T getBean(String name, Class<T> requiredType) throws BeansException; Object
阅读全文
摘要:成员 // 自身定义 @Nullable private static Class<?> javaxInjectProviderClass; static { try { javaxInjectProviderClass = ClassUtils.forName("javax.inject.Prov
阅读全文
摘要:AbstractApplicationContext:refresh() //创建过程总计12个主要步骤: // 1 为准备环境 //2 3 4 5 6 为准备 BeanFactory //7 8 9 10 12 为准备 ApplicationContext //11 为初始化 BeanFactor
阅读全文
摘要:基于spingboot 2.1.1 run方法 public static ConfigurableApplicationContext run(Class<?> primarySource, String... args) { return run(new Class<?>[] { primary
阅读全文
摘要:入口注解SpringBootApplication @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited //继承自Configuration注解 @SpringBootConfigu
阅读全文
摘要:start // 同步方法 public synchronized void start() { // 检查线程状态 if (threadStatus != 0) throw new IllegalThreadStateException(); //添加到指定线程组,thread默认使用调用线程的线
阅读全文
摘要:继承/实现 //和HashMap一样 AbstractMap子类,但接口实现自Map的子接口ConcurrentMap ConcurrentHashMap<K,V> extends AbstractMap<K,V> implements ConcurrentMap<K,V>, Serializabl
阅读全文
摘要:构造函数 //默认非公平锁 public ReentrantLock() { sync = new NonfairSync(); } //根据布尔入参确定锁实现 public ReentrantLock(boolean fair) { sync = fair ? new FairSync() : n
阅读全文
摘要:成员变量,常量,枚举,通用实现方法 节点状态 static final int WAITING = 1; // must be 1 static final int CANCELLED = 0x80000000; // must be negative static final int COND =
阅读全文