置顶那个是错的,invoke()里的proxy就是要被代理的对象,真的代理对象是在Proxy.newProxyInstance()生成的,如果nvoke()里的proxy就是被代理对象,还要后者干嘛??都可以直接用代理对象了
2017-08-08
最后那部分load到内存,我自己的理解是装载类,然后得到这个类的Class然后通过Class获得构造器的过程。经测试,使用Class.forName()也可以实现相同的效果。(有不对的欢迎指正)
装载类使用ClassLoader.loadClass(),也可以使用Class.forName(),这两个都能得到Class对象,区别是前者不会初始化类,即不会加载类的静态变量和静态块,而Class.forName()则会加载类的静态块,分配类的静态变量。JDBC连接的时候使用Class.forName()实际上是加载Driver类的static块而ClassLoader不会加载。
装载类使用ClassLoader.loadClass(),也可以使用Class.forName(),这两个都能得到Class对象,区别是前者不会初始化类,即不会加载类的静态变量和静态块,而Class.forName()则会加载类的静态块,分配类的静态变量。JDBC连接的时候使用Class.forName()实际上是加载Driver类的static块而ClassLoader不会加载。
2017-07-18
我觉得,只要是实现同一个接口Moveable,在代理类的构造中传入参数改为接口类型Moveable,那么只要是该接口的子类,无论什么“车”传进去也能被调用move方法啊
2017-07-16
说到PPT,我大专的时候,学校教了我们三个学期的Office。就是办公软件集合!!!如果不是一个老师看不下去了申请不要学office了还准备教四个学期。特么的不想吐槽了
2017-07-16