码迷,mamicode.com
首页 > 编程语言 > 详细

Java 动态代理是基于什么原理(还没整理完)

时间:2018-06-14 01:12:55      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:类加载器   声明   AC   sha   ofo   很多   场景   结构   包括   

1> Java的反射机制在平时的业务开发过程中很少用到,但是在一些基础框架的搭建上应用非常广泛

2>什么是Java反射机制

Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。

3>反射机制提供了哪些功能

----在运行时判定任意一个对象所属的类

----在运行时构造任意一个类的对象

----在运行时判定任意一个类所具有的成员变量和方法

----在运行时调用任意一个对象的方法

----生成动态代理

4> 反射机制的应用场景

----逆向代码,例如反编译

----与注解相结合的框架,例如Retrofit

----单纯的反射机制应用框架,例如EventBus 2.x

----动态生成类框架 例如Gson

5>反射机制的优缺点:

----优点:运行期类型的判断,动态类加载,动态代理使用反射

----缺点:性能是一个问题,反射相当于一系列解释操作,通知jvm要做的事情,性能比直接的java代码要慢很多。

 

.JAVA主要作用是获取程序在运行时刻的内部结构,包括其中的构造方法、声明的域和定义的方法等
2JAVA自带的动态代理是基于java.lang.reflect.Proxy、java.lang.reflect.InvocationHandler两个类来完成的,使用了JAVA反射机制,通常使用下面方法创建代理对象: Object proxy = Proxy.newProxyInstance(定义代理对象的类加载器,要代理的目标对象的归属接口数组,回调接口InvocationHandler)
详细理解见:http://blog.sina.com.cn/s/blog_548c8a8301013j6u.html

 https://www.cnblogs.com/gshacnblogs/p/7159489.html

Java 动态代理是基于什么原理(还没整理完)

标签:类加载器   声明   AC   sha   ofo   很多   场景   结构   包括   

原文地址:https://www.cnblogs.com/baxianhua/p/9180623.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!