「asm书籍java」asm语言教程
本篇文章给大家谈谈asm书籍java,以及asm语言教程对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、Java: asm.jar中的ClassReader方法执行时找不到类---Class not found
- 2、java 的ASM字节码编辑如果替换方法中的类名
- 3、急!!!关于使用ASM进行JAVA字节码操作的问题
Java: asm.jar中的ClassReader方法执行时找不到类---Class not found
【A:JavaProject中的运行结果】 你这副图:你看它导入的是哪一个包里面的ClassReader,先声明,这个包不是在asm-5.0.3.jar ;我刚看了这个jar,包名是这个org.objectweb.asm。
在java项目中的那个ClassReader 你这样用 new ClassReader("com.test")有用,但是到web里面你用的就是asm-5.0.3.jar中的ClassReader ,这时候你new ClassReader("com.test")就有问题了!
这是asm里面的构造函数:
public ClassReader(String paramString)
throws IOException
{
this(a(ClassLoader.getSystemResourceAsStream(paramString.replace('.', '/') + ".class"), true));
}
你看它做的事! 对于com.test,它会把“.”替换成“/”,然后+“.class”,这时候你哪里有这个类啊!
java 的ASM字节码编辑如果替换方法中的类名
等同于java代码:
System.currentTimeMillis();
替换成time.zz()(要求time是类名,不是对象,zz是静态方法)
很容易就出错。
急!!!关于使用ASM进行JAVA字节码操作的问题
如果直接运行在平台上就成了针对机器的了,而java目的就是要一次编译,处处运行。由于机器不同,对二进制码的要求也不同,所以不能达到上诉目标。而java把源文件编译成高效的字节码,通过java虚拟机可以快速的转换为各个机器所需要的机器码,所以只要有java虚拟机,java就能达到处处运行。希望对你有帮助
关于asm书籍java和asm语言教程的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。