资讯专栏INFORMATION COLUMN

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

LeexMuller / 2050人阅读

摘要:知识点总结反射反射机制性能问题知识点总结反射性能相关注意点启用和禁用访问安全检查的开关值为则指示反射的对象在使用时应该取消语言访问检查。并不是为就能访问为就不能访问。禁止安全检查,可以提高反射的运行速度。

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

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

性能相关注意点:

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
",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
",endTime-startTime);
     
   } catch (Exception e) {
     e.printStackTrace();
   }
  }
  
  public static void main(String[] args) {
   test1();  //41ms
   test2(); //1826ms
  }
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/71576.html

相关文章

  • Java学习路线总结,搬砖工逆袭Java架构师(全网最强)

    摘要:哪吒社区技能树打卡打卡贴函数式接口简介领域优质创作者哪吒公众号作者架构师奋斗者扫描主页左侧二维码,加入群聊,一起学习一起进步欢迎点赞收藏留言前情提要无意间听到领导们的谈话,现在公司的现状是码农太多,但能独立带队的人太少,简而言之,不缺干 ? 哪吒社区Java技能树打卡 【打卡贴 day2...

    Scorpion 评论0 收藏0
  • 最最最常见的Java面试题总结——第二周

    摘要:与都继承自类,在中也是使用字符数组保存字符串,,这两种对象都是可变的。采用字节码的好处语言通过字节码的方式,在一定程度上解决了传统解释型语言执行效率低的问题,同时又保留了解释型语言可移植的特点。 String和StringBuffer、StringBuilder的区别是什么?String为什么是不可变的? String和StringBuffer、StringBuilder的区别 可变性...

    yearsj 评论0 收藏0
  • Java相关

    摘要:本文是作者自己对中线程的状态线程间协作相关使用的理解与总结,不对之处,望指出,共勉。当中的的数目而不是已占用的位置数大于集合番一文通版集合番一文通版垃圾回收机制讲得很透彻,深入浅出。 一小时搞明白自定义注解 Annotation(注解)就是 Java 提供了一种元程序中的元素关联任何信息和着任何元数据(metadata)的途径和方法。Annotion(注解) 是一个接口,程序可以通过...

    wangtdgoodluck 评论0 收藏0
  • Java反射详细介绍

    摘要:通过反射获取带参无返回值成员方法并使用设置安全检查,访问私有构造函数必须创建实例这种不行,注意和方法需要传递参数测试复制这个功能获取私有方法,同样注意和的区别赋予访问权限调用方法。 反射 目录介绍 1.反射概述 1.1 反射概述 1.2 获取class文件对象的三种方式 1.3 反射常用的方法介绍 1.4 反射的定义 1.5 反射的组成 1.6 反射的作用有哪些 2.反射的...

    ingood 评论0 收藏0
  • Java识点总结反射-反射操作泛型)

    摘要:知识点总结反射反射操作泛型知识点总结反射采用泛型擦除的机制来引入泛型。中的泛型仅仅是给编译器使用的,确保数据的安全性和免去强制类型转换的麻烦。 Java知识点总结(反射-反射操作泛型) @(Java知识点总结)[Java, 反射] Java采用泛型擦除的机制来引入泛型。Java中的泛型仅仅是给编译器javac使用的, 确保数据的安全性和免去强制类型转换的麻烦 。但是,__一旦编译完成,...

    AprilJ 评论0 收藏0

发表评论

0条评论

LeexMuller

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<