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. 不同Framework下StringBuilder和String的性能对比,及不同Framework性能比(附Demo)

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

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

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

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

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

  7. Java的几种创建实例方法的性能对比

    近来打算自己封装一个比较方便读写的Office Excel 工具类,前面已经写了一些,比较粗糙本就计划重构一下,刚好公司的电商APP后台原有的导出Excel实现出现了可怕的性能问题,600行的数据生成 ...

  8. LongAdder和AtomicLong性能对比

    jdk1.8中新原子操作封装类LongAdder和jdk1.5的AtomicLong和synchronized的性能对比,直接上代码: package com.itbac.cas; import ja ...

  9. 如何利用缓存机制实现JAVA类反射性能提升30倍

    一次性能提高30倍的JAVA类反射性能优化实践 文章来源:宜信技术学院 & 宜信支付结算团队技术分享第4期-支付结算部支付研发团队高级工程师陶红<JAVA类反射技术&优化> ...

随机推荐

  1. jquery.cookie() 方法的使用(读取、写入、删除)

    一个轻量级的cookie 插件,可以读取.写入.删除 cookie. jquery.cookie.js 的配置 首先包含jQuery的库文件,在后面包含 jquery.cookie.js 的库文件. ...

  2. decimal(a,b)

    decimal(a,b)a指定指定小数点左边和右边可以存储的十进制数字的最大个数,最大精度38.b指定小数点右边可以存储的十进制数字的最大个数.小数位数必须是从 0 到 a之间的值.默认小数位数是 0 ...

  3. 用正则从html代码中提取图片路径

    $str = '<div align="center"> <img src="http://www.99tyg.com/public/images/e8 ...

  4. ADC 电源监测

    我能为别人做点什么?这是我最近在思考的问题. 看了 ADC 电源监测代码,觉得对 ADC 的理解不到位,代码中有很多部分都不懂.如: 1. 为什么初始化的时候管脚设置为输出? 2. ADC 采集到的值 ...

  5. How to relocate tablespace directory

    I’ll demonstrate how to relocate a tablespace directory without the reconstruction of databases. I h ...

  6. 【转载】Hadoop机架感知

    转载自http://www.cnblogs.com/ggjucheng/archive/2013/01/03/2843015.html 背景 分布式的集群通常包含非常多的机器,由于受到机架槽位和交换机 ...

  7. mysql-创建库之问题

    一.在登入mysql命令行,创建数据库时报错 ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'xiaolu ...

  8. Charles V4系列更新 | 绿色特别版 | 视频教程

    Charles V4.0 视频教程 http://www.cnblogs.com/weimjsam/p/5841816.html Charles V4系列 绿色特别版,解压密码:博客名 链接: htt ...

  9. UVA 753 UNIX 插头(EK网络流+Floyd传递闭包)

    UNIX 插头 紫书P374 [题目链接]UNIX 插头 [题目类型]EK网络流+Floyd传递闭包 &题解: 看了书之后有那么一点懂了,但当看了刘汝佳代码后就完全明白了,感觉他代码写的好牛逼 ...

  10. gerrit 修改前一次提交的方法(转载)

    From:http://sinojelly.sinaapp.com/2011/08/git-changes-submitted-by-the-previous-method-pay-special-a ...