书籍详情
Effective Enterprise Java中文版
作者:(美)纽华德;陈吴鹏译
出版社:机械工业出版社
出版时间:2005-09-01
ISBN:9787111171140
定价:¥45.00
购买这本书可以去
内容简介
构建高效的Java企业级系统是项困难的工作。本书详细介绍企业级计算技术中的常见问题,并描述使用企业级Java平台技术处理这些问题的方法。本书以若干条建议、指南的形式,言简意赅地介绍了J2EE开发中的微妙之处。无论你是否是Java开发人员,本书都将为你开发高效的企业系统提供诸多帮助。如果你想构建更好的Java企业应用,并使之运行起来更加高效,本书就是最佳选择。本书通俗易懂地解释了J2EE开发的微妙之处。你将学会:■使用进程内或本地存储以避开网络,请参阅第44项■考虑使用较低的隔离级别以获得更大的事务吞吐量,请参阅第35项■为了开放集成而考虑使用Web服务,请参阅第22项■仔细考虑你的查找,请参阅第16项■预生成内容以最小化处理过程,请参阅第55项■使用基于角色的授权,请参阅第63项■面对故障时要健壮,请参阅第7项■为版本并存使用独立的JRE,请参阅第69项TedNeward向读者提供了75项易于理解的技巧,它们可以帮助你在系统和架构层次上驾驭J2EE开发。他对J2EE开发的优势、弊端的全景式看法将解决你最迫切关心的问题,使你学会:如何设计企业系统使其适应未来的需求;在无损于代码正确性的前提下提高代码的效率;如何实现语言或平台无法直接支持的复杂功能。在阅读本书之后,你将了解如何设计和实现更好的、更具可扩展性的、企业级Java软件系统。
作者简介
TedNeward是一名软件架构师、顾问、作家和演讲家,他为诸如IntuitandPacificBell和UCDavis这样的公司做咨询工作。他还著有《Server-BasedJavaProgramming》,同时也是《C≠inaNutshell》和《SSCLlEssentials》的作者之一。Ted曾经是JSR175专家组的成员。他近来经常在世界各地巡回演讲,并继续致力于Java以及.NET技术的开发和教授相关课程。
目录
第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
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
猜您喜欢