课后习题p880
练习书上例子并说明用意
补充习题
1、p849解析中符号引用替换成直接引用是宏变量的意思吗?
2、类初始化块和声明变量的执行顺序是什么?
3、类中的初始化语句是什么?
4、java.exe命令是什么?
5、p183中初始值可以在编译时就确认下来是什么意思?什么情况可以?什么情况不行?
6、说出什么情况下,类会被初始化?什么情况下不会?类加载、类连接和类初始化有什么区别?
7、p852最上面的命令尝试一下。还有类加载器实例之间的关系是什么意思?
8、p853为什么使用父加载器,不使用本身?
9、如何创建自定义ClassLoader
10、p856的执行代码前自动验证数字签名?密码解密代码?避免反编译*.class文件
11、如何使用URLClassLoader加载远程主机的类?
12、为什么一定要使用反射?反射的作用是什么?什么时候使用?
13、p859中getAnnotation和getDeclaredAnnotation有什么区别?直接修饰和修饰什么区别?getSimpleName()返回的简单名称是什么?没有包名?
14、p862下面代码的获取String的类是什么意思?尝试使用一下javac -parameters命令。
15、尝试使用反射获取类的基本信息。尝试使用方法参数反射功能。尝试使用反射生成并操作对象。
16、尝试对forName不使用全限定类名。为什么反射创建对象性能会更低?需要动态创建某个类的对象是什么意思?
17、p867中Spring框架的IoC的秘密是什么意思?如何实现调用private修饰的东西?尝试一下。最底下的,那个包括private修饰的成员变量,是不是不需要使用setAccessible这个方法也可以修改private成员变量?尝试一下,不setAccessible(true),访问private成员变量,或方法之类的。
18、尝试使用反射操作数组。还有为什么叫做反射这个名字?不太懂p869的newInstance(String.class,3,4,10)的意思。
19、嵌套访问权限是什么?两个内部类可以相互访问private成员?外部类可以访问内部类的private成员?反射不行?java11之前会引发什么异常?
20、动态代理是什么?动态代理类?动态代理对象?类加载器有什么作用?
21、p872的疑问。InvocationHandler又怎么知道怎么实现这些方法?还有MyInvocationHandler(…)?为什么是省略号?动态代理有什么用处?为什么只能为接口创建动态代理?
22、p875硬编码应该是复制粘贴的那种方式吧?没理解那个MyInvokationHandler例子。p876动态代理对象与target实现了相同的接口?不理解动态代理的含义?什么target看不懂。哪里实现了Dog接口?他的意思是GunDog和DogUtil的代码没有交集,知识都放在了动态代理中?
23、p876面向切面编程是什么?p877为什么通过在反射中使用泛型可以避免使用反射生成的对象需要强制类型转换?为什么会出现Date强制类型转换成JFrame的方法。
24、p878的提示中,为什么不能同时拥有可变参数和不用强制类型转换的方式?Class<?>和Class< T>什么区别?
25、如何通过反射来获取泛型信息?p879的被参数化类型是什么意思?
25、本章的两个对象工厂是什么?为什么叫JDK动态代理?动态代理和AOP的关系?
要练习java文档的类
1、Class
2、ClassLoader
3、AppClassLoader
4、PlatformClassLoader
5、URLClassLoader
6、Process
7、Driver
8、Method
9、Field
10、Constructor
11、Parameter
12、Proxy
13、InvocationHandler
14、Type
15、ParameterizedType