| ISBN | 出版时间 | 包装 | 开本 | 页数 | 字数 |
|---|---|---|---|---|---|
| 未知 | 暂无 | 暂无 | 未知 | 0 | 暂无 |
第1章 从对象到组件
第2章 类加载器体系结构
2.1 组状应用程序
2.2 类加载器结构的目标
2.1.1 透明性
2.2.2 可扩展性
2.2.3 功能丰富
2.2.4 可配置性
2.2.5 处理命名和版本冲突
2.2.6 安全性
2.3 显式和隐式类加载
2.3.1 用URLClassloader显示加载
2.3.2 隐式类加载
2.3.3 引用类型与已引用类
2.3.4 Classloader.loadClass与Class.forName
2.3.5 加载非类资源
2.4 类加载
2.4.1 一致性规则
2.4.2 委托规则
2.4.3 可见性规则
2.4.4 委托用作命名空间
2.4.5 非Singleton模式的静态字段
2.4.6 隐式加载隐藏了大多数细节
2.5 热部署
2.6 卸载类
2.7 引导类路径\扩展路径和类路径
2.7.1 类路径
2.7.2 扩展路径
2.7.3 引导类路径
2.8 调试类加载结构
2.8.1 改编应用程序
2.8.2 使用verbose:class标志
2.8.3 改编内核APl
2.9 倒置问题和上下文类加载器
2.10 小结
2.11 资源
第3章 类型信息和反射
3.1 二进制类格式
3.1.1 二进制兼容性
3.1.2 二进制类元数据
3.1.3 从二进制类到反射
3.2 反射
3.2.1 反射字段
3.2.2 get和getDeclared的区别
3.2.3 运行时出现的类型错误
3.2.4 反射方法
3.3 反射调用
3.3.1 反射启动器
3.3.2 包装基本类型
3.3.3 避开语言访问规则
3.3.4 反射调用引发的异常
3.4 动态代理
3.4.1 用委托代替实现继承
3.4.2 动态代理使委托通用化
3.4.3 实现InvocationHandler'
3.4.4 实现转发处理程序
3.4.5 将InvocationHandler用作通用服务
3.4.6 处理InvocationHandler中的异常
3.4.7 客户程序或服务器都可安装代理
3.4.8 动态代理的优点
3.5 反射性能
3.6 包反射
3.6.1 设置包元数据
3.6.2 访问包元数据
3.6.3 封装包
3.6.4 版本控制机制的弱点
3.7 自定义元数据
3.8 小结
3.9 资源
第4章 串行化处理机制
4.1 串行化处理和元数据
4.2 串行化基础知识
4.2.1 串行化忽略的一些字段
4.2.2 串行化与类构造函数
4.3 使用readObject和writeObject
4.4 将流与类匹配
4.4.1 serialVersionUID
4.4.2 重写默认SUID
4.4.3 兼容的和不兼容的更改
4.5 显式管理可串化字段
4.5.1 ObjectlnputStream.GetField应用提示
4.5.2 编写器对格式的处理
4.5.3 重写类元数据
4.5.4 性能问题
4.5.5 自定义类描述符
4.6 停用元数据
4.6.1 在defaultWriteObiect后写入自定义数据
4.6.2 可外部化
4.6.3 用writeObiect只写入原始数据:错误做滋
4.7 对象图
4.7.1 用Transient关键字缩减图大小
4.7.2 保存标识
4.7.3 通过reset关键字来利用无用单元收集器
4.8 对象替换
4.8.1 流控制替换
4.8.2 类控制替换
4.8.3 替换的排序规则
4.8.4 控制图排序
4.9 查找类代码
4.9.1 RMI中的注解
4.9.2 RMIMarshalledObject
4.10 小结
4.11 资源
第5章 自定义类加载器
5.1 Java2安全性
5.2 自定义类加载器
5.2.1 Java2之前的自定义类加载器
5.2.2 SDKl.2后的类加载
5.2.3 转换类加载器
5.3 协议处理程序
5.3.1 实现处理程序
5.3.2 安装自定义处理程序
5.3.3 加载器和处理程序之间的选择
5.4 为需要的加载器传递安全性
5.5 读取自定义元数据
5.5.1 版本属性示例
5.5.2 可串行类用作属性
5.5.3 在类加载时读取属性
5.5.4 调试支持
5.6 小结
5.7 资源
第6章 交互操作1:JNI
6.1 交互操作的原因
6.2 本机代码的危险
6.3 查找和加载本机代码
6.3.1 名称映射
6.3.2 类型映射
6.3.3 重载名
6.3.4 加载本机库
6.3.5 类加载器和JNI
6.3.6 加载本机库的常见错误
6.3.7 本机加载释疑
6.4 从C++调用Java
6.4.1 最小化往返次数
6.4.2 性能比较
6.4.3 JNI和反射调用的区别
6.5 JNI中的错误处理
6.5.1 本机代码中的故障
6.5.2 处理C++异常
6.5.3 从本机代码处理异常
6.5.4 从本机代码抛出Java异常
6.6 资源管理
6.6.1 与无用单元收集器的交互
6.6.2 管理本机资源
6.6.3 管理数组
6.6.4 管理字符串
6.7 小结
6.8 资源
第7章 生成式编程
7.1 使用生成式代码的原因
7.1.1 建立变性模型的面向对象的方法
7.1.2 按绑定时间进行分析
7.1.3 分离绑定时间和规范
7.1.4 选择规范语言
7.1.5 重用性的高需求
7.1.6 小型域分析很危险
7.2 用Java生成代码的原因
7.2.1 类型信息用作自由规范文档
7.2.2 类加载支持灵活绑定模式
7.2.3 易于生成Java源文件
7.2.4 易于生成Java二进制类
7.2.5 代码生成功能有利于提高性能
7.2.6 代码生成的责任级别
7.3 绑定时间和模式的分类
7.4 RMI中的代码生成
7.5 JSP中的代码生成
7.6 EJB中的代码生成
7.6.1 部署描述符
7.6.2 替补实现
7.7 生成强类型集合
7.8 生成自定义串行化代码
7.9 小结
7.10 资源
第8章 展望
8.1 当前状况
8.2 发展方向
8.3 资源
附录A 交互操作2:连接Java和Win32/COM
A.1 综述
A.2 半透明占位程序
A.3 平台差异
A.4 组件对象模型
A.4.1 COM加载器
A.4.2 COM类型信息
A.4.3 COM对象生存期
A.4.4 COM类型发现
A.4.5 COM错误处理
A.4.6 COM线程亲缘性
A.4.7 COM安全性
A.5 Win32动态链接库
A.5.1 DLI加载器
A.5.2 DLL类型信息
A.5.3 DLL对象生存期
A.5.4 DLI类型发现
A.5.5 DLL错误报告
A.5.6 DLL线程亲缘性
A.5.7 DLL安全性
A.6 编组体系结构
A.6.1 共享占位程序
A.6.2 通用占位程序
A.6.3 指令字符串
A.7 生成占位程序
A.7.1 生成共享占位程序
A.7.2 生成接口占位程序
A.8 小结
参考书目