本文地址:http://www.cnblogs.com/herbix/p/3541093.html
java字节码是直接在在jvm上运行的代码。和简单易懂的java程序不同,java字节码是类似于汇编的指令串,不过比汇编的指令集要小很多,java字节码可优化的余地没有那么大,想直接编写字节码也要比编写汇编容易许多。
《JAVA虚拟机规范 java SE 7》这本书上详细介绍了制作一个java虚拟机的过程,包括类文件的结构、指令集、还有一些约束等等,其余的部分是由虚拟机的编写者决定的。既然我们的目的是调教java字节码,那么主要看一看这本书里介绍的指令集部分就好了。
想要直接在java里使用字节码,可以使用ASM库:http://asm.ow2.org/。这个库可以直接将类、方法、字段、指令等变成class文件的结构,然后只需要重载ClassLoader就可以把这个结构读取成类,从而进行使用。使用方法在ASM库的例程里面有,就不在这里介绍了。
时间: 2024-10-05 14:11:08