zoukankan      html  css  js  c++  java
  • 性能对比分析(普通方法/反射/反射关闭检测)

    性能对比分析(普通方法/反射/反射关闭检测)

    import java.lang.reflect.InvocationTargetException;
    import java.lang.reflect.Method;
    
    //分析性能问题
    public class Test10 {
    
        //普通方式调用
        public static void test01(){
            User user = new User();
    
            long startTime = System.currentTimeMillis();
    
            for (int i = 0; i < 1000000000; i++) {
                user.getName();
            }
    
            long endTime = System.currentTimeMillis();
    
            System.out.println("普通方法执行10亿次:"+(endTime-startTime)+"ms"); //3ms
        }
    
        //反射方式调用
        public static void test02() throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
            User user = new User();
            Class c1 = user.getClass();
    
            Method getName = c1.getDeclaredMethod("getName", null);
    
            long startTime = System.currentTimeMillis();
    
            for (int i = 0; i < 1000000000; i++) {
                getName.invoke(user,null);
            }
    
            long endTime = System.currentTimeMillis();
    
            System.out.println("反射方法执行10亿次:"+(endTime-startTime)+"ms"); //3029ms
        }
    
        //反射方式调用   关闭检测
        public static void test03() throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
            User user = new User();
            Class c1 = user.getClass();
    
            Method getName = c1.getDeclaredMethod("getName", null);
            getName.setAccessible(true);
    
            long startTime = System.currentTimeMillis();
    
            for (int i = 0; i < 1000000000; i++) {
                getName.invoke(user,null);
            }
    
            long endTime = System.currentTimeMillis();
    
            System.out.println("关闭检测执行10亿次:"+(endTime-startTime)+"ms"); //1389ms
        }
    
        public static void main(String[] args) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException {
            test01();
            test02();
            test03();
        }
    
    }
    
  • 相关阅读:
    学生管理系统代写
    学生竞赛评价系统
    《划时代51单片机C语言全新教程》前言
    《划时代51单片机C语言全新教程》第三章 开发环境 概览
    校验和
    NBOOT分析-S3C244xInit.s(1)
    《划时代51单片机C语言全新教程》第一章 8051简介 概览
    《划时代51单片机C语言全新教程》第二章 STC89C52RC 处理器 概览
    ARM9中断调试(1)
    NBOOT分析-NBOOT.c(2)
  • 原文地址:https://www.cnblogs.com/helloxiaolu/p/13332765.html
Copyright © 2011-2022 走看看