07 2023 档案
摘要:invokeBeanFactoryPostProcessors() 实例化并调用所有已经注册的bean 工厂后置处理器(BeanFactoryPostProcessor) protected void invokeBeanFactoryPostProcessors(ConfigurableLista
阅读全文
摘要:refreshContext() 刷新上下文 这里的refresh()调用的spring源码中的spring-context中的内容,也是spring框架bean装载的核心 @Override public void refresh() throws BeansException, IllegalS
阅读全文
摘要:### 前言 在使用springboot的时候只需要将启动类放到当前项目包的同级包下之后,springboot就会根据注解扫描到当前包下的需要管理的类,但是当引用了外部starter组件的时候,我们是如何装载bean的? 例如我们注入redisTemplate的时候,这个redisTemplate的
阅读全文
摘要:## 1,配置类型的组件 #### 1.1 @configuration 把一个类当作spring的ioc容器,在这个类的某个方法上组册了@Bean,就会作为spring中的bean #### 1.2 @ComponentScan 再配置类上加改注解,该注解会默认扫描该类所在包下的所有配置类, ##
阅读全文
摘要:### 1,数据类型 redis的数据类型主要是5大类: * string * list * hash * set * zset ### 2,基本数据类型的命令操作 #### 2.1 string string 数据类型主要操作就说key,value的类型 list 数据结构类是与队列,可以用这个特
阅读全文
摘要:1,常见的4大线程池 public static void main(String[] args) { //只有一个线程的线程池 ExecutorService single = Executors.newSingleThreadExecutor(); //创建可缓存的线程池,线程池线程个数最大可以
阅读全文
摘要:ConcurrentLinkedQueue无界队列 ConcurrentLinkedQueue是一个非阻塞的无界队列,内部的队列使用单向链表方式实现,其中有两个volatile类型的Node节点分别用来存放队列的首、尾节点。从下面的无参构造函数可知,默认头、尾节点都是指向item为null的哨兵节点
阅读全文
摘要:1, LockSupport类 该类是rt.jar包下的一个工具类,主要作用是挂起和唤醒线程,是创建锁和其他同步类的基础 1.1 主要的方法 void park() 如果调用park方法的线程已经拿到了与LockSupport关联的许可证,则调用LockSupport.park()时会马上返回,否则
阅读全文
摘要:synchronized关键字介绍 synchronized块是Java提供的一种原子性内置锁,Java中的每个对象都可以把它当作一个同步锁来使用,这些Java内置的使用者看不到的锁被称为内部锁,也叫作监视器锁。线程的执行代码在进入synchronized代码块前会自动获取内部锁,这时候其他线程访问
阅读全文