关闭

Java 下高效的反射工具包 ReflectASM 使用例解

ReflectASM 使用字节码生成的方式实现了更为高效的反射机制。执行时会生成一个存取类来 set/get 字段,访问方法或创建实例。一看到 ASM 就能领悟到 ReflectASM 会用字节码生成的方式,而不是依赖于 Java 本身的反射机制来实现的,所以它更快,并且避免了访问原始类型因自动装箱而产生的问题。 下面三个图是 ReflectASM 与 Java 自身反射机制的性能对比,...
阅读(2107) 评论(0)

ReflectASM,高性能的反射

什么是ReflectASM    ReflectASM是一个很小的java类库,主要是通过asm生产类来实现java反射,执行速度非常快,看了网上很多和反射的对比,觉得ReflectASM比较神奇,很想知道其原理,下面介绍下如何使用及原理。 如何使用 Java代码   public class User {       private int id;   ...
阅读(1180) 评论(0)

深入理解Java:类加载机制及反射

说明:本文乃学习整理参考而来. 一、Java类加载机制 1.概述        Class文件由类装载器装载后,在JVM中将形成一份描述Class结构的元信息对象,通过该元信息对象可以获知Class的结构信息:如构造函数,属性和方法等,Java允许用户借由这个Class相关的元信息对象间接调用Class对象的功能。       虚拟机把描述类的数据从class文件加...
阅读(891) 评论(0)

ReflectUitls类的编写和对反射机制的解析

反射相关的类   反射相关的类,最基本的当然是Class类。   获取了Class对象之后,就可以接着生成对象实例、调用方法、查看字段等等。   字段(Field)、方法(Method)和构造方法(Constructor)各有相应的类来表示,它们共同继承于java.lang.reflect.AccessibleObject类:       这三个类共同实现的还有...
阅读(324) 评论(0)

JAVA获取同一路径下所有子类或接口实现类

整个测试代码如下: Java代码   package find;      import java.io.File;   import java.io.IOException;   import java.net.URL;   import java.util.ArrayList;   import java.util.List;      impo...
阅读(804) 评论(0)

深入理解Java:内省(Introspector)

内省(Introspector) 是Java 语言对 JavaBean 类属性、事件的一种缺省处理方法。   JavaBean是一种特殊的类,主要用于传递数据信息,这种类中的方法主要用于访问私有的字段,且方法名符合某种命名规则。如果在两个模块之间传递信息,可以将信息封装进JavaBean中,这种对象称为“值对象”(Value Object),或“VO”。方法比较少。这些信息储存在类的私有变量...
阅读(511) 评论(0)

Java反射与内省(Introspector)

一、java反射机制     JAVA反射机制是在运行状态中,对于任意一个类,都能够得到这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。     用一句比较白的话来概括,反射就是让你可以通过名称来得到对象 ( 类,属性,方法 ) 的技术。例如我们可以通过类名来生成一个类的实例;知道了方法名,...
阅读(421) 评论(0)

用反射的方式获取父类中的所有属性和方法

Java代码   package com.syh.jdbc.reflection_super;      /**   * 父类   * @author syh   *   */      public class Parent {          public String publicField  = "1";              String de...
阅读(2129) 评论(0)

Java 利用ASM读取变量值(Field value)问题研究

最近在学习Spring源码的过程中,遇到了spring-asm工程的重新打包的问题,于是突然就想研究一下asm这个开源字节码操作工具。秉承我的一贯风格,想到啥就立马学啥。       对于开源产品,我的一贯风格就是通过其官方提供的源码版本管理地址(svn/git等),直接下载最新代码,构建Java工程,直接通过工程依赖的方式研究学习。(你说这样跟依赖jar包并且绑定源码比有啥好处? 一般情况下...
阅读(546) 评论(0)

java反射:使用asm 获取方法的参数名

[Java]代码 /** * Classes.java 9:22:44 AM Apr 23, 2012 * * Copyright(c) 2000-2012 HC360.COM, All Rights Reserved. */ package cn.outofmemory.demo; import java.io.IOException; import java.lang.reflec...
阅读(2537) 评论(0)

提炼Java Reflection

反射是Java语言中很重要的一个组成部分,所以就此话题讨论的资源可谓数之不尽,日常开发也会经常使用到关于反射的Reflection API。Java5.0 Tiger出现以后,更对反射API有了新的扩展,尽管讨论的话题很多,不过我还是觉得不够全面,尤其是对泛型这一块,所以就我所知,再花力气总结一番 首先反射的入口是从Class开始的,所以如何获取Class就变得十分关键了。这里总结了几种方式...
阅读(607) 评论(1)

Java反射,根据类名创建带参数的实例(获取参数类型,参数等)

Java代码   //根据类名获取Class对象     Class c=Class.forName("java.lang.Integer");     //参数类型数组     Class[] parameterTypes={String.class};    //根据参数类型获取相应的构造函数     java.lang.reflect.Constructor cons...
阅读(7868) 评论(0)

Java反射代码 得到某类的所有字段 getFields()与getDeclaredFields()区别 getMethod()和getDeclaredMethod()区别

** * 得到某类的所有字段 * */ public void reflect2(){       try {           Class cls = Class.forName("entity.UserBean");//加载UserBean类到内存中!获取一个Class对象           Field[]fields = cls.getDeclaredFields();//...
阅读(4926) 评论(0)

通过Java反射调用方法

通过Java反射调用方法   这是个测试用的例子,通过反射调用对象的方法。 TestRef.java import java.lang.reflect.Method;  import java.lang.reflect.InvocationTargetException; /**  */  public class TestRef {     public static ...
阅读(655) 评论(0)

java反射--如何改变private中的变量及方法

class DemoTest{    private String name="123";    public getName(){        system.out.println("public getName " + name);        return name;    }    private getName2(){        syst...
阅读(6444) 评论(0)
24条 共2页1 2 下一页 尾页
    个人资料
    • 访问:7020988次
    • 积分:61540
    • 等级:
    • 排名:第34名
    • 原创:250篇
    • 转载:2618篇
    • 译文:3篇
    • 评论:663条
    文章分类
    最新评论