java反射实现

2019-04-24  本文已影响0人  传葱

java反射为什么比较慢?reflect的性能开销:

反射的调用采用委派方式,目的是在本地调用和动态实现之间切换

本地调用,15次之后转成动态实现,动态实现的字节码是动态生成的

public class Test {

    public static void target(int i) {
        new Exception("#" + i).printStackTrace();
    }

    public static void main(String[] args) throws Exception{
        Class<?> aClass = Class.forName("com.baeldung.java.reflection.Test");
        Method target = aClass.getMethod("target", int.class);
        for (int i = 0; i < 20; i++) {
            target.invoke(null, i);
        }


    }
}

看一下实现效果


image.png
image.png
上一篇 下一篇

猜你喜欢

热点阅读