Java 下高效的反射工具包 ReflectASM 使用例解
来源:互联网 发布:知乎 避孕套 父母 编辑:程序博客网 时间:2024/05/22 13:25
什么是ReflectASM ReflectASM是一个很小的java类库,主要是通过asm生产类来实现java反射,执行速度非常快,看了网上很多和反射的对比,觉得ReflectASM比较神奇,很想知道其原理,下面介绍下如何使用及原理。
public class SomeClass { private String name; public void foo(String name) { this.name = name; }}测试类 ReflectasmClient.javapackage cc.unmi.testreflect;import java.lang.reflect.Method;import com.esotericsoftware.reflectasm.MethodAccess;/** * @author Unmi */public class ReflectasmClient { public static void main(String[] args) throws Exception { testJdkReflect();// testReflectAsm(); } public static void testJdkReflect() throws Exception { SomeClass someObject = new SomeClass(); for (int i = 0; i < 5; i++) { long begin = System.currentTimeMillis(); for (int j = 0; j < 100000000; j++) { Method method = SomeClass.class.getMethod("foo", String.class);//传统的需要参数类型 method.invoke(someObject, "Unmi"); } System.out.print(System.currentTimeMillis() - begin +" "); } } public static void testReflectAsm() { SomeClass someObject = new SomeClass(); for (int i = 0; i < 5; i++) { long begin = System.currentTimeMillis(); for (int j = 0; j < 100000000; j++) { MethodAccess access = MethodAccess.get(SomeClass.class); access.invoke(someObject, "foo", "Unmi");//不需要参数类型 } System.out.print(System.currentTimeMillis() - begin + " "); } }}
跟传统的相比,效率高,更灵活
0 0
- Java 下高效的反射工具包 ReflectASM 使用例解
- Java 下高效的反射工具包 ReflectASM 使用例解
- ReflectASM,高性能的反射
- ReflectASM
- Ubuntu下Aircrack-ng工具包的使用
- Ubuntu下Aircrack-ng工具包的使用
- 使用高效的 .net 反射发出
- Java工具包的安装配置和使用
- Java工具包的安装配置和使用
- Java工具包的安装配置和使用
- java反射的使用
- java 反射的使用
- Java 反射的使用
- java反射的使用
- java反射的使用
- java反射的使用
- Java反射的使用
- java反射的使用
- Hibernate5.x 基本开发
- 启动tomcat出错:A child container failed during start
- ubuntu下opencv的IDE——QT
- kaggle比赛集成指南
- Alsa 驱动分析
- Java 下高效的反射工具包 ReflectASM 使用例解
- 如何清除Xcode8打印的系统日志
- 51nod 1449 砝码称重
- Linux启动过程
- 数学API Math.atan() 和Math.atan2() 三角函数复习
- hive 安装详解
- 机器学习回归篇-多元线性回归
- POJ: 2663 Tri tiling
- Maven入门指南① :Maven 快速入门及简单使用