首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
黑科技
订阅
阿峰7014
更多收藏集
微信扫码分享
微信
新浪微博
QQ
8篇文章 · 0订阅
使用javassist和ASM修改class,并实现方法耗时检测插件
之前在项目开发中为了实现消息推送的各个平台版本sdk(小米,华为,OPPO,vivo,极光)。在写这个多平台推送的sdk过程中,发现小米手机启动时,小米推送和极光推送的服务都同时启动了。导致后台发起的推送收到了两次(后天是全平台推送的)。本来只要手机端只要启动一个推送服务,结果…
Javassist 指南1
Javassist 是一个能处理 Java字节码 的类库,Java字节码存储在class文件中,每一个class文件都包含了一个Java类或一个接口类。 在Javassist中,使用Javassist.CtClass来表示一个class文件,所以说CtClass类就是用来处理c…
什么?你还不知道字节码插桩!
1. 方法监控背景 在日常开发中通常会打印很多的日志,比如方法的出入参、以及traceid的串联等等,其本意是做好链路的监控和日常问题排查。并且一般为了满足公司按照不同BU业务线隔离的诉求,在日志的输
这可能是Android最傻瓜式的AOP框架
我们对Android的AOP有了初步的了解,但是其高门槛和学习成本还是让很多人望而却步。今天这里就给大家一个傻瓜式的AOP框架,这可能是Android最傻瓜式的AOP框架了。 乍看上去是不是有点眼熟,对我就是为了蹭JakeWharton大神的butterknife框架的热度,哈…
Android AOP方案(二)——ASM
ASM是一个通用的Java字节码操作和分析框架。它可以直接以二进制形式用于修改现有类或动态生成类。ASM提供了一些常见的字节码转换和分析算法,可以从中构建定制的复杂转换和代码分析工具。ASM提供了与其他Java字节码框架类似的功能,但是侧重于性能。因为它的设计和实现是尽可能的小…
Android AOP方案(一)——AspectJ
AOP是一个概念,并没有设定具体语言的实现,它能克服那些只有单继承特性语言的缺点(如Java),AOP具体实现有很多种方式,AspectJ 只是其中一种。 AspectJ通过注解的形式来标注切入点、切入对象等,然后在代码编译期间将代码织入到java的字节码中。 该注解用来标注一…
安卓 AOP 三剑客: APT,AspectJ,Javassist
Android AOP 就是通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。利用 AOP 可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,提高开发效率。
Android ASM框架详解
在上篇文章中,我们以AspectJ为引子介绍了AOP及其设计思想,传送门Android AspectJ详解,我们用AspectJ可以方便的实现一些简单的代码织入,而不需要关心底层字节码的实现,而ASM则偏向底层一些,ASM提供的API完全是面向Java字节码编程,如果你对Jav…