Java TM平台性能策略与技巧

Java TM平台性能策略与技巧
作 者: Steve Wilson Jeff Kesselman 须晨 方梁
出版社: 北京中软电子出版社
丛编项: Java系列丛书
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: JAVA
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《Java TM平台性能策略与技巧》作者简介

内容简介

本书讲述了所有Java程序员都需要的重要技术:程序如何获得最佳的性能和伸缩性。基于作者深入的Java知识和广泛的程序性能调试经验,本书揭示了人们对Java性能特性的常见误解。同时,本书提供了能显著改善Java应用程序性能的整体开发策略和具体的、经过验证的实用技巧。本书第一部分讲述了将性能评价融入软件开发过程的重要性并讨论了测量程序性能的技术。本书第二部分讲述了多方面提高应用程序性能的实用技巧,包括:I/O、内存驻留、小对象管理、算法、数据结构、Swing和部署。本书的具体内容如下:将性能评价融入开发过程资源分布分析和基准测试创建可伸缩、快速的Swing用户界面程序应用高速I/O计算和控制内存驻留减少类的数量消除临时对象选择高性能的算法和数据结构高效地应用Java本地代码和封装applet垃圾回收JavaHotSpot技术通过本书,读者能深入理解程序性能的本质,掌握减少程序开销的实用技巧,进而提高自己编写的程序的效率、速度和可伸缩性。

图书目录

第一部分:策略

第1章 性能是什么?

1. 1 计算性能

1. 2 内存驻留

1. 3 启动时间

1. 4 伸缩性

1. 5 观测性能

第2章 性能过程

2. 1 性能过程

2. 1. 1 分析

2. 1. 2 面向对象设计

2. 1. 3 编码

2. 1. 4 测试

2. 1. 5 资源分布分析

2. 2 面向对象设计的参考书目

第3章 测量是一切

3. 1 基准测试

3. 1. 1 为什么要建立基准测试

3. 1. 2 微基准测试

3. 1. 3 宏基准测试

3. 1. 4 分析基准测试

3. 2 资源分布分析

3. 2. 1 分析方法执行的次数

3. 2. 2 分析内存驻留

3. 2. 3 分析内存泄漏

3. 3 处理平滑的资源分布分析数据

3. 3. 1 一个平滑的资源分布数据的实例

第二部分:技巧

第4章 I/O性能

4. 1 基本I/O

4. 1. 1 缓冲流

4. 1. 2 自定义缓冲

4. 1. 3 进一步改进

4. 2 序列化

4. 2. 1 序列化示例

4. 2. 2 改进的序列化示例

4. 2. 3 分析持久状态

第5章 内存驻留

5. 1 计算内存驻留

5. 1. 1 计算内存的使用

5. 1. 2 测量程序的实际内存驻留

5. 2 什么影响了内存驻留

5. 2. 1 对象

5. 2. 2 类

5. 2. 3 线程

5. 2. 4 本地数据结构

5. 2. 5 本地库

5. 3 类装载

5. 3. 1 测量类装载

第6章 控制类装载

6. 1 过早类装载

6. 1. 1 控制过早装载

6. 2 减少类的数量

6. 2. 1 简单内部类

6. 2. 2 合并监听者

6. 2. 3 应用反射

6. 2. 4 应用代理

6. 2. 5 谁真正应用了这些技巧?

6. 3 运行多个程序

6. 3. 1 办公套件示例

6. 3. 2 在同一个虚拟机上运行

6. 3. 3 一个更好的触发程序

第7章 对象可变性:字答串及其它

7. 1 大量小对象

7. 2 处理字符串对象

7. 3 AWT和Swing中的可变对象

7. 3. 1 消除临时对象

7. 4 其它处理可变对象的技巧

7. 4. 1 模拟const

7. 5 可变对象的实例研究

7. 6 小对象及当今JVM

7. 6. 1 对象池

7. 7 数组可变性

第8章 算法和数据结构

8. 1 算法选择

8. 1. 1 算法比较

8. 1. 2 追求优雅

8. 1. 3 考虑问题空间

8. 2 应用递归算法

8. 3 超越简单算法

8. 4 选择数据结构

8. 4. 1 Java 2集合

8. 4. 2 集合接口

8. 4. 3 Collection接口

8. 4. 4 List对象

8. 4. 5 Set对象

8. 4. 6 Map对象

8. 4. 7 同步集合

8. 4. 8 集合框架的算法

8. 4. 9 普通数组

8. 4. 10 不可变集合

8. 5 集合示例

8. 5. 1 集合基准测试的结果

8. 6 算法和数据结构的参考

第9章 使用本地代码

9. 1 本地图示例

9. 1. 1 与本地代码的比较

9. 2 检测JNI开销

9. 2. 1 Java拷贝

9. 2. 2 JNI模式

9. 2. 3 模式1:Call模式

9. 2. 4 模式2:Call-Pull模式

9. 2. 5 模式3:Call-Pull-Push模式

9. 2. 6 模式3(变量):Call-Pull-Push with Critical模式

9. 2. 7 模式4:Call-Invoke

9. 3 本地代码的实例研究

9. 3. 1 Java多媒体框架(Java Media Framework)

9. 3. 2 Java. math包

9. 3. 3 Java 3D

第10章 Swing模型与表示者

10. 1 Swing的组件架构

10. 2 可伸缩组件

10. 2. 1 表示者

10. 2. 2 模型

10. 2. 3 例子:简单的电子表

10. 2. 4 应用定制模型

10. 2. 5 应用定制的表示者

10. 2. 6 一起使用定制模型和表示者

第11章 用Swing编写响应灵敏的用户界面

11. 1 编写响应灵敏GUIs的指引

11. 1. 1 先设计, 后构建(重复)

11. 1. 2 用户决定性能要求

11. 2 在Swing程序中应用线程

11. 2. 1 单线程规则

11. 2. 2 在事件分发中应用invokeLater和invoke And Wait

11. 3 在Swing应用中应用定时器(timer)

11. 3. 1 定时器如何工作

11. 3. 2 没有定时器的代码

11. 3. 3 Swing的定时器类

11. 3. 4 公共Timer类和Timer Task类

11. 3. 5 如何选择一个定时器类

11. 3. 6 定时器实例

11. 4 应用线程创建响应灵敏的程序

11. 5 例子:搜索web

11. 5. 1 工作线程的优先级

11. 5. 2 中断工作线程

第12章 部署

12. 1 编译器选项

12. 2 Jar文件

12. 2. 1 减小程序大小

12. 2. 2 减少下载时间

12. 2. 3 JAR文件及资源文件

12. 3 包(packaging)工具

12. 4 动态下载

12. 4. 1 Applet缓冲

附录

A 垃圾回收的真相

A. 1 为什么要关心垃圾回收?

A. 2 GC的承诺

A. 3. 对象的生命周期

A. 3. 1 创建

A. 3. 2 在用

A. 3. 3 不可见

A. 3. 4 不可达

A. 3. 5 已回收

A. 3. 6 终止

A. 3. 7 释放

A. 4 引用对象

A. 4. 1 引用对象的类型

A. 4. 2 GC弱引用的例子

A. 5 垃圾回收参考书目

B Java Hot Spot虚拟机

B. 1 HotSpot架构

B. 1. 1 HotSpot的两个版本

B. 2 运行期系统特性

B. 2. 1 内存分配和垃圾回收

B. 2. 2 线程同步

B. 3 HotSpot服务器编译器

B. 3. 1 积极内联

B. 3. 2 其它优化技术

B. 3. 3 数组边界检查

B. 4 -x标志

B. 4. 1 -Xnoclassgc

B. 4. 2 -Xincgc

B. 4. 3 -Xbatch

B. 4. 4 -Xms

B. 4. 5 -Xmx

B. 4. 6 -Xprof

B. 5 -XX 标志

B. 5. 1 -XX 标志的类型

B. 5. 2 PrintBytecodeHistogram

B. 5. 3 Compile Threshold

B. 5. 4 NewSize