2013年11月14日

JDK动态代理实现原理(转)

摘要: 转自:http://m.oschina.net/blog/149055之前虽然会用JDK的动态代理,但是有些问题却一直没有搞明白。比如说:InvocationHandler的invoke方法是由谁来调用的,代理对象是怎么生成的,直到前几个星期才把这些问题全部搞明白了。 废话不多说了,先来看一下JDK的动态是怎么用的。Java代码packagedynamic.proxy;importjava.lang.reflect.InvocationHandler;importjava.lang.reflect.Method;importjava.lang.reflect.Proxy;/***实现自己的In 阅读全文

posted @ 2013-11-14 19:45 依蓝jslee 阅读(197) 评论(0) 推荐(0) 编辑

java类初始化/生命周期及反射及动态代理

摘要: 在java语言里面,类型的加载、连接和初始化过程都是在程序运行期间完成的,这个策略虽然稍微增加了一些性能开销,但会给java应用程序带来高度的灵活性,java的动态扩展特性就是依赖动态加载和动态连接来实现的。 1.加载 1.1过程: *类的加载就是把类的.class文件中的二进制数据读入到内存中。 *转换字节流的数据结构(静态-运行时),把它存放在java运行时数据区的方法区内 *在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。Class对象封装了类在方法区的数据结构。并且向java程序提供了访问类在方法区的数据结构的入口。 类加载采用了缓存机... 阅读全文

posted @ 2013-11-14 19:42 依蓝jslee 阅读(494) 评论(0) 推荐(0) 编辑

导航