Spring
文章平均质量分 86
skyline_wx
这个作者很懒,什么都没留下…
展开
-
在gradle工程使用jmh并集成SpringBoot
在gradle工程使用jmh测试spring什么是JMH我们为什么需要JMHgradle依赖String效率基本参数概念@BenchmarkMode@State@OutputTimeunit@Warmup@Measurement@Fork@Thread@Param实战一、Random与ThreadLocalRandom二、写热点三、同步队列性能测试+SpringBoot集成参考链接什么是JMHJMH,Java Microbenchmark Harness,是专门用于代码微基准测试的工具套件。jmh官网原创 2021-12-29 14:38:42 · 637 阅读 · 4 评论 -
ReentrantReadWriteLock使用场景思考及验证
ReentrantReadWriteLock使用场景思考CachedDataRWDictionary思考和验证最近一直在琢磨ReentrantReadWriteLock的使用场景是什么,后来突然就想明白了,其实就是读读并发、读写互斥、写写互斥而已。如果一个对象并发读的场景大于并发写的场景,那就可以使用ReentrantReadWriteLock来达到保证线程安全的前提下提高并发效率。首先,我们先了解一下Doug Lea为我们准备的两个demo。CachedData一个缓存对象的使用案例,缓存对象在使用原创 2021-11-21 21:34:07 · 2481 阅读 · 16 评论 -
spring入门——如何实现包扫描
如何实现包扫描spring中的包扫描如何实现呢?自己实现源码验证反思与总结spring的实现spring的源码反思与总结spring中的包扫描在spring中有两种方式可以实现包扫描传统的xml配置方式<!--配置扫描com.example.spring.beans下的所有bean--><context:component-scan base-package="com.example.spring.beans"/>基于注解的方式@Configuration@原创 2021-09-09 22:31:29 · 8666 阅读 · 0 评论 -
spring入门——spring是如何解决循环依赖的,它支持哪种循环依赖?
spring中循环依赖详解单例循环依赖 可以构造函数循环依赖 不可以多例循环依赖 不可以initializeBean 回顾一下A引用B B引用A 就叫循环依赖先一级缓存 再二级缓存 最后三级缓存,如果三级缓存里有,那就放入二级缓存并从三级缓存中删除addSingleton 添加到一级缓存,移除二级、三级缓存,更新统计信息有可能依赖注入的并不是对象本身,比如aop为什么有二级缓存 三级缓存只会调用一次,如果三级缓存调用多次,会有问题A中引用BA初始化到populateBean的时候 触发原创 2021-08-28 22:47:22 · 383 阅读 · 0 评论 -
Spring入门——依赖注入的实现方式、如何阻止依赖注入和bean的初始化工作
送达原创 2021-08-15 20:58:00 · 486 阅读 · 0 评论 -
Spring入门——bean的实例化和注解收集
bean的实例化和注解收集factoryMethod方式实例化有参和无参构造函数实例化bean的实例化流程@Autowired@Value @Resource等注解收集factoryMethod方式实例化在xml时代,我们有两种使用factoryMethod实例化bean的方式:样例1:<bean id="testObj1Factory" class="com.example.spring.beans2.TestObj1Factory"/><bean id="testObj1"原创 2021-08-12 00:07:51 · 697 阅读 · 0 评论 -
Spring入门—内置事件、事件的发布监听、事件的处理机制以及监听器排序
Spring入门—事件的发布监听以及事件的处理机制如何发布及监听事件发布事件监听事件内置事件事件处理机制初始化广播者注册收集到的监听器发布事件如何发布及监听事件发布事件发布事件的核心代码调用是publishEvent,只要可以获取到applicationContext就可以发布事件了。@Testpublic void test1(){ ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicatio原创 2021-07-28 09:00:14 · 394 阅读 · 0 评论 -
Spring入门—自定义bean和BeanDefinitionRegistryPostProcessor
自定义bean和BeanDefinitionRegistryPostProcessor引入Spring使用SpringBeanDefinitionRegistryPostProcessor引入Spring只要引入了spring-context,就算是引入Spring了// https://mvnrepository.com/artifact/org.springframework/spring-contextimplementation ‘org.springframework:spring-co原创 2021-07-22 13:38:14 · 317 阅读 · 0 评论