浅谈AOP以及AspectJ和Spring AOP

AOP(Aspect Orient Programming),作为面向对象编程的一种补充,广泛应用于处理一些具有横切性质的系统级服务,如日志收集、事务管理、安全检查、缓存、对象池管理等。AOP实现的关键就在于AOP框架自动创建的AOP代理,AOP代理则可分为静态代理和动态代理两大类,其中静态代理是指使用AOP框架提供的命令进行编译,从而在编译阶段就可生成 AOP 代理类,因此也称为编译时增强;而动态代理则在运行时借助于`JDK动态代理`、`CGLIB`等在内存中“临时”生成AOP动态代理类,因此也被称为运行时增强。

面向切面的编程(AOP) 是一种编程范式,旨在通过允许横切关注点的分离,提高模块化。AOP提供切面来将跨越对象关注点模块化。虽然现在可以获得许多AOP框架,但在这里我们要区分的只有两个流行的框架:Spring AOP和AspectJ。

继续阅读

通过反编译破解Charles

APP开发或者后端接口开发,经常需要联调或者模拟请求API,甚至抓包定位问题,都会用到一款超强的工具,当然,它也是爬虫同学的最爱。这款让人欢喜的工具就是Charles。该软件不是免费的,需要购买才可使用,鉴于此,逆向破解,使其无需购买可用。当然,如果不是拮据,我也愿意掏钱购买,毕竟他们开发也不容易。

继续阅读