Java Reflection in Java zh
简介
第一章 基础
1.1 反射的值命题
1.2 程序员 George 的任务
1.2.1 选择反射
1.2.2 实现反射方案
1.3 检查运行时的程序
1.4 在运行时查询方法
1.5 使用 Class 对象表示类型
1.5.1 表示原始类型
1.5.2 表示接口
1.5.3 表示数组类型
1.6 理解 Method 对象
1.6.1 使用动态调用
1.6.2 使用原始类型进行动态调用
1.6.3 避开调用陷阱
1.7 为反射建模
1.8 浏览继承层次
1.8.1 自省继承层次
1.8.2 意外之处
1.8.3 另外一种反射循环
1.9 总结
第二章 通过反射读取字段
2.1 序列化对象
2.1.1 序列化为 XML
2.1.2 选择反射
2.1.3 使用反射设计序列化
2.2 在运行时查找字段
2.3 理解 Filed 对象
2.4 获取、设置字段值
2.5 检查限定符
2.5.1 Member 接口
2.5.2 接口自省的陷阱
2.5.3 对实例变量进行自省
2.6 访问非公有成员
2.7 处理数组
2.8 序列化:完整版
2.8.1 序列化所有组件
2.8.2 序列化实例变量
2.9 使用反射序列化
2.10 总结
第三章 动态加载与反射构造
3.1 George 的部署难题
3.1.1 使用设计模式进行设计
3.1.2 实现反射解决方案
3.1.3 通过反射增强工厂方法
3.1.4 结合委托与反射的优势
3.2 动态加载类
3.2.1 forName 基础
3.2.2 获取数组类
3.2.3 原始类型与 forName
3.3 反射构造对象
3.3.1 反射构造基础
3.3.2 使用构造对象
3.3.3 反射构造数组
3.4 设计动态加载
3.4.1 通过参数反射构造的缺点
3.4.2 通过接口初始化
3.5 实现反序列化
3.5.1 初始化反序列化器
3.5.2 构造实例
3.5.3 恢复对象结构
3.6 George 的序列化:局限
3.6.1 无法与 readObject 或 writeObject 交互
3.6.2 未处理 final 类型的实例变量
3.6.3 只有无参构造器
3.6.4 未处理非法 XML 字符
3.6.5 性能
3.7 总结
第四章 使用 Java 动态代理
第五章 调用栈内省
第六章 使用类加载器
第七章 反射代码生成
第八章 设计模式
第九章 评估性能
第十章 反射未来展望
Powered by
GitBook
3.4.2 通过接口初始化
3.4.2 通过接口初始化
results matching "
"
No results matching "
"