ReflectPerformance.java

package aaa.bbb.ccc;

import java.lang.reflect.Method;

public class ReflectPerformance {
String name ; public static void reflect(String arg){
int i = 0 ;
} public static void one() throws Exception{
TLTimeContainer.recordTime(); Method m ;
ReflectPerformance obj = new ReflectPerformance();
for(int i = 0 ; i < 100000 ; i ++){
m = obj.getClass().getMethod("reflect", new Class[]{String.class});
m.invoke(obj, "bobo");
} TLTimeContainer.recordTime();
TLTimeContainer.print();
TLTimeContainer.clearAll();
} public static void two() throws Exception{
TLTimeContainer.recordTime(); Method m ;
ReflectPerformance obj = new ReflectPerformance();
for(int j = 1 ; j < 100000 ; j ++){
obj.reflect("bobo");
} TLTimeContainer.recordTime();
TLTimeContainer.print();
TLTimeContainer.clearAll();
} public static void main(String[] args) throws Exception{
one();
two();
}
}

打印结果

类aaa.bbb.ccc.ReflectPerformance->方法one 起于:1453857415270
类aaa.bbb.ccc.ReflectPerformance->方法one 止于:1453857415364
类aaa.bbb.ccc.ReflectPerformance->方法one 耗时:94
__________________________________________
类aaa.bbb.ccc.ReflectPerformance->方法two 起于:1453857415365
类aaa.bbb.ccc.ReflectPerformance->方法two 止于:1453857415366
类aaa.bbb.ccc.ReflectPerformance->方法two 耗时:1
__________________________________________
TLTimeContainer源码.

总结:10万次跑下来,并未和普通调用有多大差距

jdk1.6 反射性能对比【原】的更多相关文章

  1. jdk1.6 反射性能对比

    ReflectPerformance.java package aaa.bbb.ccc; import java.lang.reflect.Method; public class ReflectPe ...

  2. Java各种反射性能对比

    对各种方法实现get方法的性能进行了一个测试. 总共有5个测试,,每个测试都是执行1亿次 1. 直接通过Java的get方法 2.通过高性能的ReflectAsm库进行测试 3.通过Java Clas ...

  3. 再看ExpressionTree,Emit,反射创建对象性能对比

    [前言] 前几日心血来潮想研究着做一个Spring框架,自然地就涉及到了Ioc容器对象创建的问题,研究怎么高性能地创建一个对象.第一联想到了Emit,兴致冲冲写了个Emit创建对象的工厂.在做性能测试 ...

  4. [原] KVM 环境下MySQL性能对比

    KVM 环境下MySQL性能对比 标签(空格分隔): Cloud2.0 [TOC] 测试目的 对比MySQL在物理机和KVM环境下性能情况 压测标准 压测遵循单一变量原则,所有的对比都是只改变一个变量 ...

  5. Math.random()和UUID.randomUUID().toString()性能对比【纯原】

    Math.random()和UUID.randomUUID().toString()性能对比 不言而喻,因为Math.random()不需要保证唯一性,所做的操作远比UUID消耗更小的性能, 在部分要 ...

  6. 不同Framework下StringBuilder和String的性能对比,及不同Framework性能比(附Demo)

    本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 阅读目录 介绍 环境搭建 测试用例 MSDN说明 ...

  7. 反射(4)反射性能问题:直接调用vs反射调用

    很多人都说使用反射会有性能问题,那到底会比直接调用慢多少呢,下面就来测试一下. 直接调用vs反射调用 下面就来写个demo来验证下直接调用和反射调用的性能差异,代码如下: namespace Cons ...

  8. C# 之 反射性能优化2

    问题回顾 在上篇博客中,我介绍了优化反射的第一个步骤:用委托调用代替直接反射调用. 然而,那只是反射优化过程的开始,因为新的问题出现了:如何保存大量的委托? 如果我们将委托保存在字典集合中,会发现这种 ...

  9. 【转】HashMap,ArrayMap,SparseArray源码分析及性能对比

    HashMap,ArrayMap,SparseArray源码分析及性能对比 jjlanbupt 关注 2016.06.03 20:19* 字数 2165 阅读 7967评论 13喜欢 43 Array ...

随机推荐

  1. Laravel Exception处理逻辑解析

    Laravel Exception处理逻辑解析 vendor/laravel/framework/src/Illuminate/Foundation/Application.php app首先继承了c ...

  2. TimeLine CSS/Javascript 时间线

    https://casbootadminserver.herokuapp.com/#/applications/23bd8218/trace

  3. Java 线程内 递归 Bug 一例

    一个线程的run方法里使用递归方法,出了Bug. private boolean ispass(String creationId){ List<Map> maps =creationSe ...

  4. K3CLOUD安装教程

    1.安装SQLSERVER2008 2.安装K3CLOUD安装包,此处各种安装iis,tomcat,ftp等环境,有过it经验的应该都能自己搞定,不详细赘述 3.进入管理中心,进行设置,默认为127. ...

  5. php常用扩展安装

    ####memcache wget http://pecl.php.net/get/memcache-2.2.7.tgztar xf memcache-2.2.7.tgz cd memcache-2. ...

  6. matlab中输入x. 与x的区别

    参考:http://www.madio.net/thread-27742-1-1.html 点乘的话,是对应元素相乘. 没点的话,按照矩阵相乘法则进行,这就要求前一个矩阵的列数等于第二个矩阵的行数. ...

  7. 一对一 只需将另一个表的id设置为主键和外键即可

    一对一 只需将另一个表的id设置为主键和外键即可 

  8. codeforces604B

    More Cowbell CodeForces - 604B Kevin Sun wants to move his precious collection of n cowbells from Na ...

  9. windows编程按小时生成日志文件

    这是一个简单的日志记录方法,为了避免单个日志文件过大,所以每个小时生成一个新的日志文件 注意:g_pLogPath 可以带路径,但是必须手动创建好路径,保证目录存在.而且要详细到log文件名,不能带后 ...

  10. BZOJ1001 BJOI2006狼抓兔子(最小割+最短路)

    显然答案就是最小割.直接跑dinic也能过,不过显得不太靠谱. 考虑更正确的做法.作为一个平面图,如果要把他割成两半,那么显然可以用一条曲线覆盖且仅覆盖所有割边.于是我们把空白区域看成点,隔开他们的边 ...