图书介绍
Bitter EJB 中文版PDF|Epub|txt|kindle电子书版本网盘下载
![Bitter EJB 中文版](https://www.shukui.net/cover/6/33198023.jpg)
- (美)Bruce Tate等著;于涵,林琪等译 著
- 出版社: 北京:机械工业出版社
- ISBN:7111172493
- 出版时间:2005
- 标注页数:286页
- 文件大小:43MB
- 文件页数:304页
- 主题词:JAVA语言-程序设计
PDF下载
下载说明
Bitter EJB 中文版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
目录2
前言2
致谢2
关于本书2
第一部分 基础知识2
第1章 取舍之苦2
1.1 论战风暴2
1.2 EJB反模式的历史3
1.2.1 1998年3月:EJB 1.04
1.2.2 1999年11月:EJB 1.14
1.2.3 2001年8月:EJB 2.05
1.3 案例研究:PetStore基准测评6
1.4 反模式:金榔头8
1.4.1 不明智的选择8
1.4.2 解决方案:仔细评估10
1.5 小结:前瞻12
1.6 本章中的反模式13
第2章 代价之苦14
2.1 层出不穷的争论14
2.1.1 EJB的价值15
2.1.2 适用EJB的应用15
2.1.3 使用试金石16
2.1.4 通过测试17
2.1.5 衡量复杂性17
2.1.6 估计你的能力18
2.2 反模式:大锤打苍蝇19
2.2.1 增加复杂性21
2.2.2 解决方案:简化22
2.2.3 考虑管理多个文件的代价24
2.2.4 更细的分析26
2.3 实体bean应另当别论28
2.4.1 本地接口30
2.4 实体bean:两大进步30
2.4.2 容器托管关系31
2.5 实体bean的深入探讨31
2.6 小结34
2.7 本章中的反模式34
第3章 接口之苦36
3.1 构建一个好接口36
3.1.1 远程调用性能的下降37
3.1.2 传引用与传值37
3.2 设计应用层39
3.2.1 再看实体bean40
3.2.2 质疑EJB本地接口40
3.3 反模式:本地和远程接口并存41
3.3.1 混合的接口会扰乱异常管理42
3.3.4 小反模式:透明分布43
3.3.3 小反模式:到处分布43
3.3.2 混合的接口会影响性能43
3.3.5 解决方案:取得平衡44
3.3.6 了解如何分布45
3.4 反模式:闯入厨房的顾客45
3.4.1 把用餐者推至门外46
3.4.2 解决方案:由服务员疏导顾客48
3.4.3 使用数据传输对象49
3.5 反模式:定制DTO50
3.6 小结53
3.7 本章中的反模式54
第二部分 会话和消息58
第4章 会话之苦58
4.1 线程和同步59
4.1.1 反模式:纠缠不清的线程59
4.1.2 解决方案:标准化60
4.1.3 处理挂起的线程61
4.1.4 探寻解决方案62
4.2 处理异常64
4.2.1 小反模式:异常实现中存在逻辑64
4.2.2 解决方案:将逻辑重构移出异常65
4.2.3 反模式:吞掉异常65
4.2.4 解决方案:一种简单的异常处理策略66
4.2.5 反模式:过分受宠的系统异常67
4.2.6 解决方案:抛出正确的异常类型68
4.3 重复大数据集69
4.3.1 反模式:过分耗用数据库连接71
4.3.2 解决方案:精确地管理连接71
4.3.3 反模式:过于热心的迭代器72
4.3.4 解决方案:测试,测试,再测试74
4.3.5 缓存结果74
4.3.6 导出结果75
4.3.8 迭代处理重排数据76
4.3.7 确定结果的大小76
4.4 高效地互操作77
4.4.1 使用IIOP78
4.4.2 反模式:过窄的servlet桥78
4.4.3 解决方案:通用servlet桥79
4.5 小结85
4.6 本章中的反模式85
第5章 会话状态之苦89
5.1 谈谈会话状态90
5.2 核心反模式:会话包袱91
5.2.1 状态之累91
5.2.2 减负92
5.2.3 解决方案1:转向无状态93
5.2.4 解决方案2:在适当的时候充分利用会话状态93
5.3 用有状态会话bean管理会话94
5.3.1 使用有状态会话bean购物95
5.3.2 掀起盖头来96
5.4 用servlet管理会话98
5.4.1 利用HttpSession力求简单98
5.4.2 使用servlet购物99
5.4.3 扩展servlet会话100
5.5 反模式:会话状态金榔头101
5.5.1 在客户上存储会话102
5.5.2 使用servlet在服务器上存储会话102
5.5.3 使用有状态EJB在服务器上存储会话103
5.5.4 在数据库中存储会话104
5.5.5 再谈购物车105
5.5.6 总体解决方案:选择适当的工具106
5.6 小反模式:将有状态会话bean用作共享数据缓存107
5.7 反模式:会话大杂烩107
5.8 小反模式:会话抖动109
5.10 小结:驯兽110
5.9 小反模式:腐烂的会话垃圾110
5.11 本章中的反模式111
第6章 消息之苦114
6.1 JMS简介114
6.2 一个早期反模式:胖消息115
6.2.1 没有万能钥匙117
6.2.2 解决方案1:让消息节食117
6.2.3 解决方案2:使用引用118
6.3 小反模式:瘦消息119
6.4 一个订单处理系统雏形119
6.4.1 定义系统120
6.4.2 设计消息120
6.4.3 选择消息模型121
6.4.4 应对修改122
6.4.5 构建OrderRequest生产者123
6.5 反模式:XML作为银弹124
6.6 反模式:消息拥堵126
6.6.1 持久性的代价126
6.6.2 持久订购的代价127
6.6.3 解决方案:只保存重要的消息127
6.7 小反模式:请求立即应答128
6.8 使用消息驱动bean129
6.8.1 建立MDB池130
6.8.2 构建OrderRequest消费者130
6.9 反模式:自成一体的消费者132
6.9.1 听听测试的意见133
6.9.2 解决方案:委托给模块化组件133
6.10 反模式:烫手的山芋135
6.11 反模式:慢吞吞的食客137
6.12.1 解决方案:使用消息选择器138
6.12 反模式:监听138
6.12.2 声明消息选择器139
6.12.3 扩展消息选择器140
6.13 反模式:事后才考虑性能140
6.14 小结:获得消息142
6.15 本章中的反模式142
第三部分 EJB持久存储150
第7章 实体之苦150
7.1 理解实体bean反模式150
7.2 反模式:裸露的表面151
7.2.1 网络往返通信会堵塞应用151
7.2.2 失去事务完整性152
7.2.3 解决方案:会话外观154
7.2.4 使用外观保证事务完整性156
7.2.5 使用本地接口156
7.3 反模式:一口吞下个大面包156
7.3.1 在BMP和CMP间做出选择157
7.3.2 解决方案:尽可能选择CMP158
7.4 反模式:应用连接160
7.4.1 解决方案:把连接委托给数据库160
7.4.2 应用连接的常见例子160
7.5 反模式:应用过滤器161
7.6 反模式:笨重的键163
7.7 反模式:旋转门165
7.7.1 解决方案1:重构以避免再入166
7.7.2 解决方案2:禁用容器的再入检查167
7.7.3 解决方案3:游说EJB规范开发小组167
7.8 小结167
7.9 本章中的反模式168
第8章 选择之苦171
8.1 理解实体bean的替代选择171
8.2 使用EJB持久存储173
8.2.1 实现CMP174
8.2.2 增加DTO和外观177
8.2.3 包括部署细节180
8.2.4 用BMP实体bean试试看182
8.3 用JDBC简化183
8.3.1 实现一个简单的JDBC模型184
8.3.2 实现JDBC外观185
8.3.3 为JDBC部署一个会话外观187
8.4 使用对象持久存储框架189
8.4.1 衡量对象持久存储环境189
8.4.2 理解JDO190
8.4.3 用JDO实现一个简单的模型191
8.4.4 实现JDO模型的外观192
8.4.5 完成方案的部署193
8.4.6 比较各种选择195
8.5 反模式:持久存储问题195
8.5.2 继承和多态196
8.5.1 通用实体bean缺点196
8.5.3 查询语言灵活性通常很重要198
8.5.4 对于本地实体DTO需要非EJB方案199
8.5.5 容器范围内的持久存储200
8.6 解决方案:不要“继承”持久存储体系结构,而应适当选择200
8.7 小结201
8.8 本章中的反模式201
第四部分 更宽泛的话题204
第9章 调优之苦204
9.1 对成功的度量205
9.1.1 响应时间205
9.1.2 吞吐量206
9.2 反模式:过早的优化207
9.2.1 盲目对EJB应用调优207
9.2.2 解决方案1:计划,但(先)别采取行动208
9.2.3 解决方案2:编写良构的模块化代码209
9.3 反模式:事后才考虑性能210
9.4 调优点滴212
9.4.1 让EJB接受测试212
9.4.2 通过测试213
9.4.3 指定响应时间作为成功的度量214
9.4.4 看到调优隧道尽头的一丝光亮214
9.5 反模式:抖动调优215
9.6 小反模式:手工性能测试217
9.7 利用JUnitPerf完成自动化性能测试218
9.7.1 JUnitPerf概览218
9.7.2 测试响应时间219
9.7.3 调整代码220
9.7.4 指定可扩展性作为成功的一个度量220
9.7.5 测试负载条件下的响应时间221
9.7.6 使用连接池来提高吞吐量222
9.8 性能建模224
9.7.7 测试吞吐量224
9.9 小反模式:怯场226
9.10 小结:自信地调优226
9.11 本章中的反模式227
第10章 构建之苦231
10.1 用带子绑个大包232
10.1.1 理解一个示例EJB232
10.1.2 组织目录结构234
10.1.3 填写EJBJAR235
10.1.4 加载类235
10.2 反模式:系统加载的应用类236
10.3 反模式:EJB代码重复237
10.3.1 解决方案:自动生成EJB类237
10.3.2 解决方案:自动生成清单239
10.3.3 解决方案:自动生成EAR描述文件240
10.4 反模式:构建权威241
10.5 反模式:带着剪刀跑242
10.6 反模式:集成地狱244
10.7 小结245
10.8 本章中的反模式245
第11章 苦乐参半的未来248
11.1 历史定位248
11.2 下一步规划250
11.2.1 预计未来250
11.2.2 修整持久存储251
11.2.3 修整部署策略252
11.2.4 考虑经济因素252
11.3 反模式和下一步的动作253
附录255
附录A Bitter传说255
附录B Bitter基础268
参考文献286