`
chriszhang
  • 浏览: 3249 次
  • 性别: Icon_minigender_1
  • 来自: 南京
最近访客 更多访客>>
社区版块
存档分类
最新评论

反射概述

 
阅读更多
反射:
为了在jvm运行时获取并执行某些方法,达到动态加载运行类方法的目的。
1.获取类对象(class);
2.获取指定方法对象:method;
3. 执行方法对象的invoke方法;

影响性能点:
1. 获取method方法中:
a.每次找到目标方法后都是直接copy一份原方法,再指定copy对象的methodaccessor为原对象;
b.先从内存缓存中找到方法,找不到再从jvm中重新加载,再放到缓存中(refectiondata:存储类属性,方法,构造函数等信息);
2.执行invoke方法:需要加methodaccessor对象判空处理,若为空,重新new一个(Native)methodaccessormpl(调用15次后就会重新再new一个),然后调用这个对象的invoke方法,执行目标方法。在生成上面那个Impl时,会在内存中生成字节码文件(调用Classdefined.defineClass()方法),生成类对象(class),在这过程中,每调一次都会生成一个代理类加载器。
分享到:
评论

相关推荐

    Java 反射创建get set方法及反射方法的调用

    #### Java反射概述 Java反射机制提供了一种方式,可以在运行时获取类的信息,并创建和操作对象。这为开发者提供了极大的灵活性,但也可能导致代码难以理解和维护。反射通常用于框架开发、动态代理等方面。 #### ...

    反射私有内部类的例子

    #### 二、反射概述 反射是Java语言提供的一种能够在运行时分析类和对象的能力。它允许程序获取类、接口、方法和字段的信息,并可以在运行时创建和操作这些实体。反射的主要应用场景包括框架开发、动态代理、单元测试...

    Java反射动态加载实例类

    #### 一、Java反射概述 Java反射API主要由以下类和接口组成: - `java.lang.Class`:表示一个类或接口的信息。 - `java.lang.reflect.Field`:表示类或接口的字段(包括枚举常量)。 - `java.lang.reflect.Method`...

    反射机制.txt

    #### 二、Java反射概述 Java反射机制是Java语言的一个重要特性,它使得程序可以在运行时动态地获取类的信息(如类名、字段、方法等)以及创建和操作对象。通过反射,开发者能够编写更加灵活的代码,并实现许多高级...

    java 反射详细文档

    一、Java反射概述 Java反射是Java语言的一个强大特性,允许程序在运行时访问和修改自身结构与行为的能力。这包括获取类的信息(如类名、字段、方法等),创建对象,调用方法,修改字段值等。反射机制主要由以下几...

    C#反射创建类的实例

    #### 反射概述 反射是.NET框架提供的一种强大机制,允许程序在运行时检查自身以及其他程序集的信息,并能够创建和操作这些类型。这一特性使得开发人员能够在运行时动态地生成和执行代码,极大地提高了程序的灵活性与...

    C# 反射.zip C# 反射.zip

    一、反射概述 反射是.NET框架提供的一种机制,它使程序能够自我检查并动态操作。通过反射,我们可以获取类、接口、枚举等类型的信息,以及它们的属性、方法、构造器等成员,并在运行时创建和操作这些类型的新实例。...

    JAVA基础-反射-枚举

    #### 一、反射概述 反射是Java语言提供的一种能在运行时分析类和对象的能力。通过反射,我们可以在程序运行时动态地获取类的信息(如类名、方法、构造函数等)并操作这些信息。 #### 二、Class类 1. **Class类**...

    java反射技术Demo

    一、Java反射概述 反射技术是Java平台特有的功能,它基于Java的动态性,使得程序能够在运行时获取类的信息,并根据这些信息动态地调用方法和访问成员变量。这对于实现元编程(meta-programming)和插件式架构非常...

    java反射规范--java资源

    #### 一、Java反射概述 反射(Reflection)是Java语言的一项重要特性,它使得Java程序能够动态地检查和修改自身结构与行为。反射的主要用途包括但不限于:获取类的信息(如类名、方法名、字段名等)、创建对象、...

    轻松学会c# 反射浅析原理及应用教程

    #### 一、C#反射概述 C#反射是一种强大的技术,它允许程序员在运行时获取类型的信息,并能够调用类型的方法或属性,甚至是那些私有的成员。反射机制在.NET框架中由多个类共同实现,主要包括`System.Reflection`命名...

    java 类加载 。。。反射

    #### 反射概述 反射机制允许程序在运行时动态地获取类的信息(如类名、字段、方法等)并操作这些信息。它可以让我们在不知道对象具体类型的情况下调用其方法或访问其属性,提供了很大的灵活性。反射的主要应用场景...

    Java语言基础入门教程 Java实训教程 13.反射 共38页.pptx

    #### 二、反射概述 反射机制的核心在于能够获取类的信息,包括类的属性、方法和构造器等,并且能够在运行时创建这些类的实例。通过反射,Java程序可以在运行时完成以下任务: 1. **加载并实例化未知的类**:可以在...

    java反射原理

    ##### 2.1 反射概述 Java反射是指Java语言运行时系统提供了一种能力,使得程序可以在运行时检查和修改自身的结构与行为。这种能力使得Java程序能够在运行时动态地获取类的信息,并且可以创建和操作对象。 ##### ...

    java反射机制原理详解.docx

    **一、反射概述** 1. `java.lang.Class`: 作为反射的源头,`Class`对象代表了在运行时的类信息。通过`Class`对象,我们可以获取到类的属性、方法、构造器等详细信息,并且可以动态地创建类的对象及调用其方法。 **...

    Java中的 反射写法概述

    Java中的 反射写法概述

    C#反射电子书 小例子

    #### 一、C#反射概述 C#中的反射是一个非常强大的功能,它允许程序在运行时获取自身的信息,并且能够调用类型中的成员。这种能力对于构建灵活的应用程序来说非常重要,尤其是在需要处理未知类型的情况下。 #### 二...

    Java反射经典实例 Java Reflection Cookbook[1].pdf

    #### 二、Java反射概述 Java反射机制主要包括以下几个方面: 1. **Class类**:表示一个类的信息。 2. **Constructor类**:表示一个类的构造器的信息。 3. **Field类**:表示一个类的成员变量的信息。 4. **Method类...

    反射的奥秘(3D反射理论概述)文件.pdf

    反射的奥秘(3D反射理论概述) 反射的奥秘是CGI技术中的一种关键技术,用于模拟自然现象。其原理是向场景里发射光线来收集必要的信息,重建真实自然现象的一个关键问题是需要大量的信息。物体表面的原子会吸收光子...

    Java反射机制概述.pdf

    ### Java反射机制概述 Java反射机制是指Java程序在运行时,可以动态地获取一个类的信息以及调用其方法的机制。这是Java语言的一个重要特性,允许程序在运行时检查和修改类的行为。 #### 反射机制的基本操作 在...

Global site tag (gtag.js) - Google Analytics