博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java知识点总结(反射-反射机制性能问题)
阅读量:5876 次
发布时间:2019-06-19

本文共 1182 字,大约阅读时间需要 3 分钟。

Java知识点总结(反射-反射机制性能问题)

@(Java知识点总结)[Java, 反射]

性能相关注意点:

  1. setAccessible

    • 启用和禁用访问安全检查的开关,值为 true 则指示反射的对象在使用时应该取消 Java 语言访问检查。值为 false 则指示反射的对象应该实施 Java 语言访问检查。__并不是为true就能访问为false就不能访问__。
  • 禁止安全检查,可以提高反射的运行速度。
可以考虑使用:cglib/javaassist字节码操作

测试示例:

import java.lang.reflect.Method;/** * 反射性能测试 * @author Administrator * */public class Test05 {   public static void test1(){   Student student = new Student();      long startTime = System.currentTimeMillis();   for (int i = 0; i < 1000000000; i++) {     student.setName("张三");   }   long endTime = System.currentTimeMillis ();      System.out.printf("调用普通方法,执行1亿次,耗时%dms\n",endTime-startTime);  }    public static void test2(){   try {     Student student = new Student();          Method m = student.getClass().getMethod("setName", String.class);     long startTime = System.currentTimeMillis();     for (int i = 0; i < 1000000000; i++) {      m.invoke(student,"张三");     }     long endTime = System.currentTimeMillis();          System.out.printf("调用反射方法,执行1亿次,耗时%dms\n",endTime-startTime);        } catch (Exception e) {     e.printStackTrace();   }  }    public static void main(String[] args) {   test1();  //41ms   test2(); //1826ms  }}

转载地址:http://aikix.baihongyu.com/

你可能感兴趣的文章
开发进度——4
查看>>
JS里验证信息
查看>>
Akka actor tell, ask 函数的实现
查看>>
windows10 chrome 调试 ios safari 方法
查看>>
Netty 4.1.35.Final 发布,经典开源 Java 网络服务框架
查看>>
详解Microsoft.AspNetCore.CookiePolicy
查看>>
SCDPM2012 R2实战一:基于SQL 2008 R2集群的SCDPM2012 R2的安装
查看>>
SQL SERVER中字段类型与C#数据类型的对应关系
查看>>
Linux lsof命令详解
查看>>
SVG path
查看>>
js判断checkbox是否选中
查看>>
多系统盘挂载
查看>>
MySQL函数怎么加锁_MYSQL 函数调用导致自动生成共享锁问题
查看>>
MR1和MR2的工作原理
查看>>
Eclipse中修改代码格式
查看>>
GRUB Legacy
查看>>
关于 error: LINK1123: failure during conversion to COFF: file invalid or corrupt 错误的解决方案...
查看>>
python实现链表
查看>>
java查找string1和string2是不是含有相同的字母种类和数量(string1是否是string2的重新组合)...
查看>>
Android TabActivity使用方法
查看>>