分类:jvm调优

jvm调优

jvm调优

使用asm实现aop功能

使用asm实现aop功能
本文我们重点分析一下,如何通过asm操作字节码,为既有的类动态增加功能,从而达到在字节码级别增强方法的功能。同样我们还是实例方式进行演示。

分享牛 2017-08-26 3037℃

jvm调优

使用asm生成类以及方法

使用asm生成类以及方法
本文重点看一下如何使用asm生成类、字段、方法。我们还是采用循环渐进的方式进行讲解,首先定义一个类,然后观察类对应的字节码方法以及指令集,最终使用asm进行生成即可。

分享牛 2017-08-25 3095℃

jvm调优

jvm附有分支语句指令观察

jvm附有分支语句指令观察
jvm常用指令以及演示一文中详细演示了jvm常用的指令,本文算是对上文的一个延续说明,依次加深印象。本文演示的语句附有一个if判断并且处理异常这种情况,我们再次基础之上再来观察一下指令的变化。

分享牛 2017-08-25 1604℃

jvm调优

使用asm打印类的字节码信息

使用asm打印类的字节码信息
前面一系列文章说明了,如何使用16进制的方式阅读字节码以及使用javap命令生成可阅读的字节码,但是这两种方式,貌似都是都点麻烦,不太灵活,看一个类的字节码信息还要打开控制台手动javap一下,所幸asm提供了一系列的工具类,都在都在org.objectweb.asm.util包中,本文看一下TraceClassVisitor类的使用。

分享牛 2017-08-25 1924℃

jvm调优

使用asm动态增加类中的成员

使用asm动态增加类中的成员
本文重点学习一下如何使用asm修改类中的字段或者方法,比如动态给指定的类增加一个成员变量,同其他文章一样,我们还是使用asm,这点一定要了解。

分享牛 2017-08-25 2674℃

jvm调优

使用asm移除类中的方法

使用asm移除类中的方法
本文重点学习一下如何使用asm修改类中的字段或者方法,比如移除类中的方法,或者动态的添加字段,同其他文章一样,我们还是使用asm,这点一定要了解。

分享牛 2017-08-24 1920℃

jvm调优

使用asm读取类观察Signature

使用asm读取类观察Signature
在使用asm操作字节码的时候,经常要大量的使用到一些常见的数据类型,比如我们在java中直接使用的String类型,在jvm中对应的表示类型是什么呢?我们不妨尝试操作一次,一探究竟。

分享牛 2017-08-24 1800℃

jvm调优

asm生成类的字节码1

asm生成类的字节码1
ASM是一个Java字节码操纵框架,它能被用来动态生成类或者增强既有类的功能。ASM可以直接产生二进制class文件,也可以在类被加载入Java虚拟机之前动态改变类行为,ASM从类文件中读入信息后,能够改变类行为,分析类信息,甚至能够根据用户要求生成新类。本文我们使用asm框架生成一个字节码并调用生成类中的方法。关于更详细的指令可以参考java虚拟机规范

分享牛 2017-08-24 1884℃