美文网首页开发相关
反射与set效率对比

反射与set效率对比

作者: 我是光芒万丈 | 来源:发表于2019-12-05 10:16 被阅读0次

    反射与set效率对比

    public class Test7 {

        public static void main(String[] args) throws NoSuchFieldException, IllegalAccessException {

            A a= new A();

            long start= System.currentTimeMillis();

            for (int i= 0; i< 100000; i++) {

                setval1(a);

    }

            System.out.println("耗时"+(System.currentTimeMillis()-start));

    }

        //50000 平均50ms 1000000 159ms  100000000 8856ms

        private static void setval1(A a) throws NoSuchFieldException, IllegalAccessException {

            Field field= A.class.getDeclaredField("a");

            field.setAccessible(false);

            field.set(a,"1");

    }

        //50000 2ms  1000000 5ms  100000000 13ms

        private static void setval2(A a) throws NoSuchFieldException, IllegalAccessException {

          a.setA("1");

    }

    }

    class A {

        String a;

        public String getA() {

            return a;

    }

        public void setA(String a) {

            this.a = a;

    }

    }

    相关文章

      网友评论

        本文标题:反射与set效率对比

        本文链接:https://www.haomeiwen.com/subject/kzthwctx.html