java动态编程库,利用动态编程打印运行时调用全景(函数调用关系链)
2015-10-24 07:50
489 查看
如果是一般java程序,不追求性能极致,想使用方便,推荐使用 Javassist 库。
如果是android程序,或者一般java程序欲追求性能极限,推荐使用 asm for java 及 asmdex for android。 但使用上比较麻烦一点,需要了解一些jvm底层机制。
ASM在创建class字节码的过程中,操纵的级别是底层JVM的汇编指令级别,这要求ASM使用者要对class组织结构和JVM汇编指令有一定的了解。ASM 可以直接产生二进制 class 文件,也可以在类被加载入 Java 虚拟机之前动态改变类行为。ASM 从类文件中读入信息后,能够改变类行为,分析类信息,甚至能够根据用户要求生成新类。
如果是android程序,或者一般java程序欲追求性能极限,推荐使用 asm for java 及 asmdex for android。 但使用上比较麻烦一点,需要了解一些jvm底层机制。
ASM在创建class字节码的过程中,操纵的级别是底层JVM的汇编指令级别,这要求ASM使用者要对class组织结构和JVM汇编指令有一定的了解。ASM 可以直接产生二进制 class 文件,也可以在类被加载入 Java 虚拟机之前动态改变类行为。ASM 从类文件中读入信息后,能够改变类行为,分析类信息,甚至能够根据用户要求生成新类。
相关文章推荐
- Java类——JDBC链接、并操作MySQL数据库
- Myeclipse配置 项目编码格式
- Spring中协调作用域不同的Bean
- java查询语句包含中文获取不到数据库数据
- spring的常用注解以及什么叫IOC
- Git学习之图形用户界面客户端SmartGit结合Eclipse开发Android总结
- Java HashMap 默认排序
- Java中异常的分类
- JDK安装后为什么要做环境变量设置
- JDK与SDK
- java基础-JAVA之多线程
- Java异常
- Java SortedSet接口
- Java Set接口
- Java线程池原理解析及3种常用的线程池对比
- 让人疯狂的mac-eclipse-svn
- Java List接口
- Java Collection集合接口
- 简单的Java入门代码
- java基本类介绍