
java反射
单线程的娃
Try,try,try,never say die!!!
展开
-
Java反射获取类的私有变量值
从设计的原则来说,类的成员变量如果设计成private,那么我们就不能在类外部去获取到此private变量的值。通常的做法是提供此private变量的get 和set方法。但是如果这个类没有提供get和set方法,我们如何去获取到这个类的private成员变量呢?比如有这么一个类 Person:[java] view plain copyclass Person{ private Str...转载 2018-02-24 09:33:50 · 2906 阅读 · 0 评论 -
JDK动态代理中的问题——调用proxy的toString方法引起的栈溢出
Java代码 import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; public class Test { public static void main(String[] args) { ...转载 2018-02-24 09:35:17 · 9392 阅读 · 0 评论 -
JDK动态代理代理类的生成与缓存
JDK动态代理代理类的生成与缓存一、缓存相关的类及主要结构代理类的生成与缓存主要在java.lang.reflect.WeakCache<K, P, V>这个类中完成,此类用于代理类缓存的主要结构如下// 用了Reference记录引用队列,java gc时配合清除缓存用(本文不做深究)private final ReferenceQueue<K> refQueue = ...转载 2018-02-24 10:03:44 · 1001 阅读 · 0 评论 -
获取JDK动态代理/CGLIB代理对象代理的目标对象
问题描述:: 我现在遇到个棘手的问题,要通过spring托管的service类保存对象,这个类是通过反射拿到的,经过实验发现这个类只能反射取得sservice实现了接口的方法,而extends类的方法一律不出现,debug后发现这个servie实例被spring替换成jdkdynmicproxy类,而不是原始对象了,,它里面只有service继承的接口方法,而没有extends 过的super c...转载 2018-02-24 10:24:33 · 3815 阅读 · 0 评论