摘要: 1 重入锁的好搭档:Condition条件 如果大家理解了 和`Object.notify() Condition wait() notify() Lock new Condition() Condition Condition Condition ConditionObject`。 接口的基本方法 阅读全文
posted @ 2020-05-15 11:52 南小小小小乔 阅读(395) 评论(0) 推荐(0)
摘要: 参考资料:https://github.com/Snailclimb/JavaGuide/blob/master/docs/system design/framework/spring/spring transaction.md 1. 什么是事务? 事务是以可控的方式对数据资源进行访问的一组操作。在 阅读全文
posted @ 2020-05-12 22:06 南小小小小乔 阅读(271) 评论(0) 推荐(0)
摘要: 1 JdbcTemplate的诞生 JDBC作为Java平台访问关系数据库的标准API,其成功是有目共睹的。为了避免在JDBC API在使用中的种种尴尬局面(几乎程式一样的代码,繁琐的异常处理),Spring框架提出了JdbcTemplate作为数据访问的Helper类。JdbcTemplate是整 阅读全文
posted @ 2020-05-11 14:09 南小小小小乔 阅读(797) 评论(0) 推荐(0)
摘要: 2.5 Spring的织入 在上一篇文章中,我们介绍了Pointcut、Advice、Advisor三个必要模块,剩下的工作就是把它们拼装起来,也就是 织入 过程。在Spring中,使用类 作为织入器。 2.5.1 认识ProxyFactory 首先, 并非Spring AOP中唯一可用的织入器,而 阅读全文
posted @ 2020-05-09 12:35 南小小小小乔 阅读(229) 评论(1) 推荐(0)
摘要: 1. Spring AOP实现机制 Spring采用动态代理机制和字节码生成技术实现AOP。与最初的AspectJ采用编译器将横切逻辑织入目标对象不同,动态代理机制和字节码生成都是在运行期间为目标对象生成一个代理对象,而将横切逻辑织入到这个代理对象中,系统最终使用的是织入了横切逻辑的代理对象,而不是 阅读全文
posted @ 2020-05-04 21:25 南小小小小乔 阅读(264) 评论(0) 推荐(0)
摘要: 1.1 什么是AOP? 软件开发一直在寻求更加高效、更易维护甚至更易扩展的方式。软件开发的目的,最终是为了解决各种需求,包括业务需求和系统需求。使用面向对象方法,我们可以对 业务需求 等普通关注点进行很好的抽象和封装,并且使之模块化,但对于 系统需求 一类的关注点来说,情况却有所不同。开发中为了调试 阅读全文
posted @ 2020-05-04 21:21 南小小小小乔 阅读(297) 评论(0) 推荐(0)
摘要: 12306 抢票,极限并发带来的思考? 每逢节假日,大家都会面临抢票的问题,12306的服务器承受着这个世界上任何系统都无法超越的QPS,上百万的并发再正常不过。那么,大型秒杀系统的架构应该如何设计? 1. 大型高并发系统架构 高并发的系统架构都会采用分布式集群部署,服务上层有着层层负载均衡,并提供 阅读全文
posted @ 2020-05-03 11:10 南小小小小乔 阅读(508) 评论(0) 推荐(0)