JAVA高新技术 43:通过方法取得类集的泛型。通过反射得到。
JAVA高新技术 44:BottStrap类是个特殊的类,java虚拟机启动的时候就加载了,他用来加载别的类。类加载器也是一个对象。System类是BootStrap类加载的。ExtClassLoader类加载器是专门加载ext目录下的包的。类加载器的委托机制,使用递归的方式,一直是从顶级查起,即,BootStrap--->ExtClassLoader-->AppClassLoader。
JAVA高新技术 45:自定义加载器必须继承ClassLoader。覆盖findclass方法即可避免向上递归,寻找BootStrap类加载器。得到的class文件转换成字节码交由defineClass()来自动完成。这就是写类加载器的原理。
JAVA高新技术 46:有包的类不能调用无包的类。
JAVA高新技术 47:如果a类用到了b类,那么b类由a类的加载器加载。
JAVA高新技术 48:aop面向方面的编程,代理类必须调用实现现实类继承的接口,在调用显现实类的周围天灾额外的功能。CGlib作为开源项目可以使没有继承接口的现实类自动生成子类,子类用作代理。
JAVA高新技术 50:StringBuffer与StringBulid的区别,在用法上基本上没有什么区别。但是在单线程的情况下。StirngBuild的效率会高一点,在多线程的请况下StringBuffer的效率会高一点。
JAVA高新技术 51:
动态类的构造方法不能创建无参的对象。必须实现一个对象(该对象继承)InvocationHandler接口。
JAVA高新技术 52:
JAVA高新技术53:为什么proxyz3.getClass().getName()的返回值是$ProxyO而不是InvocationHandler实现类中的invoke()方法的返回值。因为getClass()是Object类上继承下来的方法,Object类只派发了三个方法给InvocationHandler接口覆写。而对于其他的方法都有自己的实现方法,所以,返回的仍是Object.getClass()的结果,而不是invoke()返回的对象。
JAVA高新技术54:
JAVA高新技术55:使用传入object和advice的来导入功能。
JAVA高新技术56:实现类似aop功能的封装与配置:BeanFactory负责创建目标类或代理类的实例对象,并通过配置文件实现切换。其getBean()方法根据传入参数返回一个相应的实例对象。如果参数是一个ProxyFactoryBean,则返回实例对象的getProxy方法返回的对象。当参数ProxyFatoryBean的话,要为其设置target和advice。