Java Proxy 和 CGLIB 动态代理原理 2018-01-22 | 3669 浏览 | 4 评论 动态代理在 Java 中有着广泛的应用,比如 SpringAOP,Hibernate 数据查询、测试框架的后端 mock、RPC,Java 注解对象获取等。静态代理的代理关系在编译时就确定了,而动态代理的代理关系是在编译期后确定的。静态代理实现简单,适合于代理类较少且确定的情况,而动态代理则给我们提供了更大的灵活性。今天我们来探讨 Java 中两种常见的动态代理方式:JDK 原生动态代理和 CGLIB 动态代理。JDK 原 代理 java 阅读更多 »
分布式之数据库和缓存双写一致性方案解析 分布式之数据库和缓存双写一致性方案解析 2018-01-07 | 1117 浏览 | 0 评论 首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作。但是在更新缓存方面,对于更新完数据库,是更新缓存呢,还是删除缓存。又或者是先删除缓存,再更新数据库,其实大家存在很大的争议。从理论上来说,给缓存设置过期时间,是保证最终一致性的解决方案。这种方案下,我们可以对存入缓存的数据设置过期时间,所有的写操作以数据库为准,对缓存操作只是 java 缓存 系统设计 阅读更多 »