Java6 的类反射瓶颈解决方案

在前面的一篇文章中提到了类反射的瓶颈原因,为了避免大量简单类型的转型,大量的数组产生,提出解决方案首先sun的method.invoke 是不可用了,因为invoke 的使用本来产生了大量的数组为了参数。invoke(Object obj, Object... args)解决方案一般我们类反射通常这样写:Class="testclass" Method="testmethod" args[0].type="int" value="1" arg[1].type="long" value=1 arg[2].ty...
阅读(1230) 评论(0)

Java6 的类反射瓶颈

用native code就不说了, 当调用次数达到一定的阀值的时候,sun jdk 会使用MethodAccessorGenerator.generate 生成一个虚拟的class, GeneratedMethodAccessor1,2...之类你可以在启动参数里 使用  XX:+TraceClassLoading, 可以看到 load 的虚拟的class 从理论上来说,这样的调用等于是生成新的class,直接调用具体的类的方法,性能应该和直接调用的方法接近,或者类似,除了方法调用的入栈和出栈,当然当用ho...
阅读(3156) 评论(3)
    个人资料
    • 访问:447437次
    • 积分:5049
    • 等级:
    • 排名:第6113名
    • 原创:97篇
    • 转载:3篇
    • 译文:0篇
    • 评论:72条
    最新评论