| ISBN | 出版时间 | 包装 | 开本 | 页数 | 字数 |
|---|---|---|---|---|---|
| 未知 | 暂无 | 暂无 | 未知 | 0 | 暂无 |
第1章 简介 1
J2EE的目标 2
中间件和J2EE 3
J2EE实现 7
企业计算的十大谬误 9
第2章 架构 13
第1项:优先采用构件作为开发、部署和重用的核心元素 13
第2项:跨越构件边界优先采用松耦合 17
第3项:区分逻辑层和物理层 20
第4项:数据和处理程序要尽可能靠近 23
第5项:牢记标识引起的竞争 26
第6项:使用“挂钩点”来注入优化、定制或新功能 30
第7项:面对故障时要健壮 35
第8项:定义性能和可扩展性目标 38
第9项:只在事务性处理中使用EJB 41
第10项:先测量性能,再进行优化 43
第11项:认清“提供商中立”的成本 47
第12项:内置监控功能 50
第13项:内置管理支持 55
第14项:部署要尽可能简单 60
第3章 通信 63
第15项:理解你所做的通信选择 63
第16项:仔细考虑你的查找 67
第17项:识别网络访问的代价 71
第18项:优选上下文完整的通信风格 76
第19项:优选数据驱动的通信而不是行为驱动的通信 82
第20项:避免为远程服务请求去等待响应 87
第21项:考虑构件的划分以避免任何一台机器负载过重 90
第22项:为了开放集成而考虑使用Web服务 94
第23项:大批量地传送数据 96
第24项:考虑定制你自己的通信代理 100
第4章 处理 103
第25项:保持简洁 104
第26项:优先采用规则引擎去处理复杂状态的评估和执行 106
第27项:优先为隐含的非原子性错误场景采用事务性处理 110
第28项:区分用户事务和系统事务 114
第29项:最小化锁窗口 117
第30项:当持有锁时不要让步给在构件之外的控制 123
第31项:理解EJB的事务关联 128
第32项:优先使用本地事务而不是分布式事务 130
第33项:为了更好的可扩展性而考虑使用乐观的并发机制 132
第34项:为了显式的并发控制而考虑使用悲观的并发机制 137
第35项:考虑使用较低的隔离级别以获得更大的事务吞吐量 140
第36项:面临回滚时使用保存点来保留部分工作 143
第37项:当有可能避免锁定区域时就复制数据源 145
第38项:偏爱不可变的,因为它不需要任何锁 147
第5章 状态管理 151
第39项:节省地使用 HttpSession 152
第40项:使用对象优先的持久化来保存你的领域模型 155
第41项:使用关系优先的持久化来显示关系模型的威力 158
第42项:使用过程优先的持久化来创建一个封装层 165
第43项:识别对象-层次结构阻抗失配 167
第44项:使用进程内或本地存储以避开网络 174
第45项:不要假设拥有数据或数据库 177
第46项:惰性加载不频繁使用的数据 179
第47项:积极加载频繁使用的数据 182
第48项:批处理SQL的工作以避免往返访问 183
第49项:了解你的JDBC供应商 186
第50项:调整你的SQL语句 189
第6章 表示 193
第51项:考虑富客户端UI技术 194
第52项:使HTML短小精悍 200
第53项:表示与处理相分离 202
第54项:内容与样式相分离 207
第55项:预生成内容以最小化处理过程 209
第56项:尽早验证,尽量验证 211
第7章 安全 219
第57项:安全是一个过程,而不是产品 221
第58项:记住安全不仅仅是预防 224
第59项:建立威胁模型 225
第60项:做不安全假设 227
第61项:总是验证用户的输入 231
第62项:打开平台安全机制 238
第63项:使用基于角色的授权 240
第64项:使用SignedObject以保证序列化对象的完整性 247
第65项:使用SealedObject以保证可序列化对象的机密性 250
第66项:使用GuardedObject以保证对象的存取控制 252
第8章 系统 257
第67项:主动释放资源 257
第68项:调整JVM 262
第69项:为版本并存使用独立的JRE 268
第70项:识别类加载器的边界 272
第71项:理解Java的对象序列化 278
第72项:不要对抗垃圾收集器 283
第73项:优选容器管理的资源管理 290
第74项:使用Reference对象来扩展垃圾收集行为 293
第75项:不要担心在服务器上的JNI代码 304
参考资料 307