图书介绍
BITTER JAVA 中文版PDF|Epub|txt|kindle电子书版本下载
![BITTER JAVA 中文版](https://www.shukui.net/cover/25/34752745.jpg)
- (美)Bruce A.Tate著;苏金国等译 著
- 出版社: 北京:机械工业出版社
- ISBN:7111183150
- 出版时间:2006
- 标注页数:240页
- 文件大小:26MB
- 文件页数:257页
- 主题词:JAVA语言-程序设计
PDF下载
下载说明
BITTER JAVA 中文版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一部分 基础知识2
第1章 Bitter传说2
1.1 自由降落的Java开发2
1.1.1 生活中的反模式4
1.2 使用设计模式强调正面4
1.2.1 设计模式在线资源5
1.2.2 UML为模式提供了语言6
1.3 反模式从负面学习6
1.3.1 一些著名的反模式6
1.3.2 实际中的反模式7
1.3.3 反模式资源8
1.4 反模式的思想并不是全新的9
1.4.1 从业界学到的教训9
1.4.2 检测工作10
1.5 为什么写这本书11
1.4.3 重构反模式11
1.5.1 本书方法12
1.5.2 本书工具12
1.5.3 本书组织结构12
1.5.4 本书读者对象14
1.6 前瞻14
第2章 状况之苦15
2.1 反模式滋生的土壤15
2.1.1 分层的好处15
2.1.2 分层也会对我们不利17
2.2 Internet技术18
2.2.1 Internet拓扑结构会影响我们的应用18
2.2.2 企业层可以增加安全,也会加大开销19
2.2.3 标准提供了Internet支持,同时增加了层21
2.2.4 TCP和IP提供底层通信21
2.2.6 HTML和XML22
2.2.5 HTTP提供应用级传输22
2.2.7 小反模式:Web页面上有太多元素23
2.3 对象技术和反模式25
2.3.1 封装有助于隔离修改25
2.3.2 继承支持共同行为的打包26
2.3.3 多态支持灵活的重用26
2.3.4 小反模式:过度分层27
2.3.5 Java的舞台28
2.4 Java技术解决反模式28
2.5 瀑布的主要问题30
2.5.1 迭代方法31
2.5.2 小反模式:不完整的过程转换31
2.5.3 编程新视野:极限编程32
2.6 状况之苦速览33
2.7 本章介绍的反模式33
3.1 孤注一掷37
3.1.1 早期的反模式:神奇按钮37
第二部分 服务器端Java反模式37
第3章 servlet之苦37
3.1.2 利用模型-视图-控制器模式构建38
3.1.3 未能分离模型和视图39
3.1.4 分出模型40
3.2 反模式:神奇servlet41
3.2.1 可以使用servlet作为模型吗41
3.2.2 落入神奇servlet陷阱43
3.2.3 导致神奇servlet的原因46
3.3 解决方案:使用命令重构47
3.3.1 分出模型47
3.3.2 用命令对象包装模型48
3.3.3 分离模型逻辑48
3.3.4 分离返回视图52
3.3.5 使用JSP建立返回视图54
3.5 本章介绍的反模式56
3.4 小结56
第4章 JSP之苦58
4.1 还没有结束58
4.1.1 找出危险信号58
4.2 反模式:整块JSP59
4.2.1 这个程序未能做到模型-视图分离60
4.2.2 解决方案:重构为模型-视图-控制器61
4.3 反模式:复合JSP62
4.3.1 该不该结合多个JSP63
4.3.2 结合了两个界面的例子64
4.3.3 解决方案:分解JSP68
4.3.4 在控制器servlet中做判定68
4.4 小反模式:过粗和过细的命令71
4.4.2 解决方案:重构为合适的粒度72
4.4.1 一组中有太多的命令72
4.4.3 有关粒度的提示73
4.5 小反模式:胖命令74
4.6 反模式回顾74
4.7 本章介绍的反模式74
第5章 缓存管理之苦77
5.1 我们需要缓存!77
5.2 反模式:缺少缓存79
5.2.1 没有缓存的糟糕BBS79
5.2.2 构建ShowBoard的模型、视图和控制器80
5.2.3 构建ShowThread的模型、视图和控制器82
5.2.4 构建AddPost的模型、视图和控制器86
5.2.5 性能问题91
5.3 解决方案:缓存91
5.3.2 解决方案2:缓存命令92
5.3.1 解决方案1:使用一个硬件缓存92
5.3.3 为BBS增加缓存93
5.3.4 对缓存命令的改进97
5.4 与缓存有关的小反模式99
5.4.1 对静态缓存的并发访问99
5.4.2 不断膨胀的缓存99
5.5 反模式:同步读/写瓶颈99
5.5.1 读者之间的冲突会降低性能100
5.5.2 读/写锁允许正确地共享访问101
5.6 消除无缓存反模式102
5.7 本章介绍的反模式103
第6章 内存之苦105
6.1 了解内存泄漏和反模式105
6.1.1 管理内存106
6.1.2 理解垃圾回收106
6.1.3 引用计数107
6.1.4 可达对象108
6.2 C++换Java109
6.2.1 导致Java内存泄漏的情况109
6.2.2 找出Java的内存泄漏109
6.3 反模式:流失监听者泄漏110
6.3.1 分析一些危险的做法111
6.3.2 解决方案1:显式地删除监听者113
6.3.3 解决方案2:缩短锚的生命周期114
6.3.4 解决方案3:弱化引用114
6.3.5 引用对象可以简化内存管理115
6.4 反模式:泄漏集合115
6.4.1 由于缓存和会话状态导致的问题116
6.4.2 解决方案1:搜索常见的警告信号116
6.4.3 解决方案2:让增加/删除调用匹配117
6.4.4 解决方案3:使用软引用完成缓存117
6.5.1 确信存在泄漏118
6.5 解决内存泄漏118
6.4.5 解决方案4:使用带弱引用的集合118
6.4.6 解决方案5:使用finally118
6.5.2 确定泄漏应当得到修正119
6.5.3 隔离问题120
6.5.4 确定根源,修正问题120
6.5.5 防止将来出现同样的问题121
6.6 小反模式:小肥猪121
6.6.1 串管理122
6.6.2 集合122
6.6.3 继承链123
6.7 小结123
6.8 本章介绍的反模式123
第7章 连接和耦合之苦125
7.1 建立连接125
7.2 反模式:连接抖动125
7.2.1 对每个访问都创建和终止连接126
7.2.2 解决方案:利用池来重用连接127
7.2.3 重构BBS例子,增加入池连接129
7.2.4 使用getPooledConnection130
7.2.5 使用J2EE连接器体系结构131
7.3 反模式:分离清洁器132
7.3.1 异常可能导致分离清洁器133
7.3.2 解决方案:在finally中让连接与清理配对134
7.4 反模式:捆绑的连接135
7.4.1 通信缓冲区136
7.4.2 过早绑定138
7.4.3 解决方案1:利用XML消息解耦合138
7.4.4 解决方案2:利用Web服务延迟绑定139
7.5 关于XML误用的小反模式140
7.5.1 XML金榔头140
7.5.2 XML转换之苦141
7.6 小反模式:严格XML142
7.6.1 命名冲突142
7.6.2 严格构造144
7.6.3 限制性的可变内容容器145
7.6.4 XML版本问题147
7.7 小结:苦连接变甜148
7.8 本章介绍的反模式148
第8章 bean之苦151
8.1 Enterprise JavaBeans简要回顾151
8.1.1 基于组件的分布式体系结构152
8.1.2 EJB的类型152
8.2 利用EJB实现的糟糕BBS153
8.2.1 EJB应用中的元素154
8.2.2 构建远程接口155
8.2.3 创建home接口156
8.2.4 实现bean类158
8.2.5 定义主键162
8.2.6 创建部署描述文件163
8.2.7 使用模型165
8.3 反模式:往返通信165
8.3.1 计算分布式部署的开销166
8.3.2 会话太多的接口167
8.3.3 解决方案:利用外观组合往返通信168
8.3.4 往返通信的根源169
8.3.5 利用外观重构BBS169
8.4 反模式:张冠李戴175
8.4.1 小反模式:bean托管连接175
8.4.2 解决方案:视图、映射器、bean托管连接176
8.4.3 小反模式:实体bean只是完成一些轻量级的功能176
8.4.6 麻烦的可滚动列表177
8.4.5 小反模式:实体bean仅用于写而不读177
8.4.4 小反模式:实体bean仅用于读177
8.4.7 总解决方案:选择合适的bean完成合适的任务178
8.5 小反模式:一切都是EJB178
8.6 EJB和缓存179
8.6.1 利用外观实现缓存179
8.7 消除苦bean180
8.8 本章介绍的反模式180
第三部分全景图184
第9章 卫生之苦184
9.1 为什么要研究编程卫生184
9.1.1 极限编程需要好的编程卫生185
9.1.2 编码标准可以避免反模式185
9.2 小反模式:不可达的代码186
9.2.1 名字匹配186
9.2.2 命名标准187
9.2.3 大括号和缩进190
9.2.4 注释191
9.2.5 制表符和空格194
9.2.6 编辑器194
9.3 小反模式:组织和可见性195
9.4 小反模式:结构198
9.4.1 基本面向对象理论198
9.4.2 低级设计因素198
9.4.3 异常200
9.5 小反模式:泄漏和性能200
9.6 测试的约定201
9.7 建立一个好的风格指南202
9.7.1 是买、是借还是偷?202
9.7.2 Contextual公司的一个示例风格指南203
9.8 编码标准小结205
10.1 保证性能的好拓扑208
第10章 可扩展性之苦208
10.1. 1同构组中的硬件分层210
10.1. 2其他拓扑变种211
10.2 反模式:事后再考虑性能212
10.2.1 开发时不做性能规划213
10.2.2 一些真实世界的例子213
10.2.3 解决方案:做性能规划!214
10.3 反模式:往返通信216
10.3.1 解决方案:缓存和外观216
10.4 反模式:不好的负载管理217
10.4.1 解决方案:工作负载管理219
10.4.2 真正的负载平衡220
10.5 反模式:混乱的会话管理221
10.5.1 解决方案1:利用会话亲缘性分派221
10.5.2 解决方案2:使用一个分布式状态管理服务221
10.6 反模式:抖动调优222
10.5.3 使用定制会话bean解决方案222
10.5.4 使用定制实体bean解决方案222
10.6.1 解决方案:使用合理的性能改进方法223
10.7 驯服性能野兽224
10.8 本章介绍的反模式224
第11章 圆满的告别227
11.1 反模式可以在很多层次上提供帮助227
11.1.1 反模式促进职业发展228
11.1.2 了解反模式可以改善程序228
11.1.3 了解反模式可以使你成为一个更好的程序员228
11.2 在过程中集成反模式229
11.3 更上一层楼230
附录A 反模式参照表232
参考文献238