摘要: [TOC] import @Import用在类上 ,通过快速导入的方式把对象实例加入spring容器中 有三种用法: 1、直接在类上标注上要导入的class 2、ImportSelector方式【重点】 3、ImportBeanDefinitionRegistrar方式 直接在类上标注上要导入的cl 阅读全文
posted @ 2020-03-27 11:36 平淡454 阅读(89) 评论(0) 推荐(0) 编辑
摘要: [TOC] HashMap 1. 首先判断是否初次使用,如果是,则初始化数组,默认大小为16。 2. 计算key的hash值,定位到数组的索引位置,判断数组该位置的值是否为null,如果为null直接赋值给数组的该位置 3. 如果不为null,判断当前数组下的哈希碰撞处理方式是链表还是红黑树(通过检 阅读全文
posted @ 2020-03-27 10:12 平淡454 阅读(138) 评论(0) 推荐(0) 编辑
摘要: [TOC] 概述 1. 有界无界: + 有界队列:队列大小是有限制的 ArrayBlockingQueue:数组实现,满了就通过锁阻塞等待 LinkedBlockingQueue:虽然是有界队列,但是容量是个非常大的值,根本不会满。 满了也是通过锁阻塞 + 无界队列: PriorityQueue:数 阅读全文
posted @ 2020-03-27 10:10 平淡454 阅读(228) 评论(0) 推荐(0) 编辑
摘要: [TOC] Vector:线程安全,本质和ArrayList一样是动态数组,方法都是通过sychronize实现安全的,不建议使用,可以用CopyOnWriteArrayList。 Stack:Vector子类,本质也是动态数组,它实现的是先进后出的栈,效率低下可以用ArrayDeque来替代。 A 阅读全文
posted @ 2020-03-27 10:09 平淡454 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 消息队列 消息队列的作用?使用场景? 解耦、异步处理、消峰。 解耦:比如订单系统下单后需要扣库存,可以把扣库存部分扔入mq,解耦。 异步处理:比如用户注册,需要更新数据库、发送邮件、发送短信,三部分串行完成后返回给客户端,则可以通过mq将发送邮件和短信扔给mq后直接返回。 消峰:比如秒杀系统,可以在 阅读全文
posted @ 2020-03-27 10:02 平淡454 阅读(201) 评论(0) 推荐(0) 编辑