
源码
文章平均质量分 97
Java技术债务
坚决不留下一个技术债务,欢迎关注:Java技术债务!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java反射Reflect机制详解
Java反射是一个强大的工具,极大地增强了Java语言的动态性和灵活性。然而,在使用反射时需要权衡其性能开销和安全风险。Java反射有优点也有缺点,从整体上看,Java反射是以牺牲了小部分的性能换取了更好的扩展性和灵活性,牺牲小我成就大我,而且,随着现代硬件设备能力越来越强,这点小性能的牺牲是完全值得的。理解反射的原理和使用场景,可以更好地应用反射技术来解决实际开发中的问题。原创 2024-06-06 16:49:59 · 1206 阅读 · 0 评论 -
Spring事件ApplicationEvent源码浅读
Spring 使用反射机制,获取了所有继承 ApplicationListener 接口的监听器,在 Spring 初始化时,会把监听器都自动注册到注册表中。定义一个继承ApplicationEvent的事件;定义一个实现ApplicationListener的监听器或者使用@EventListener监听事件;定义一个发送者,调用ApplicationContext直接发布或者使用ApplicationEventPublisher来发布自定义事件;原创 2023-10-17 19:09:18 · 19177 阅读 · 1 评论 -
从注解@EventListener和@TransactionalEventListener掌握Spring的事件机制原理
Spring为我们提供的一个事件监听、订阅的实现,内部实现原理是观察者设计模式;为的就是业务系统逻辑的解耦,提高可扩展性以及可维护性。事件发布者并不需要考虑谁去监听,监听具体的实现内容是什么,发布者的工作只是为了发布事件而已。在Spring中我们可以通过实现接口或者接口来实现事件驱动编程。比如我们做一个电商系统,用户下单支付成功后,我们一般要发短信或者邮箱给用户提示什么的,这时候就可以把这个通知业务做成一个单独事件监听,等待通知就可以了;把它解耦处理。Spring事件类自定义类描述运行程序上下文。原创 2023-05-23 16:24:28 · 2986 阅读 · 0 评论 -
Java并发编程之AQS以及源码解析
不同的自定义同步器争用共享资源的方式也不同。自定义同步器在实现时只需要实现共享资源的获取与释放方式即可,至于具体线程等待队列的维护(如获取资源失败入队/唤醒出队等),AQS已经在顶层实现好了。方法描述尝试获取独占锁成功则返回true,失败则返回false。尝试释放独占锁成功则返回true,失败则返回false。尝试获取共享锁负数表示失败;0表示成功,但没有剩余可用资源;正数表示成功,且有剩余资源。尝试释放共享锁成功则返回true,失败则返回false。当前线程是否获得了独占锁。...............原创 2022-08-08 22:22:22 · 962 阅读 · 2 评论