Effective Enterprise Java (Paperback)
暫譯: 有效的企業 Java
Ted Neward
- 出版商: Addison Wesley
- 出版日期: 2004-08-26
- 售價: $1,500
- 貴賓價: 9.5 折 $1,425
- 語言: 英文
- 頁數: 496
- 裝訂: Paperback
- ISBN: 0321130006
- ISBN-13: 9780321130006
-
相關分類:
Java 程式語言
立即出貨(限量) (庫存=5)
買這商品的人也買了...
-
$1,029Fundamentals of Data Structures in C++
-
$520$343 -
$2,640$2,508 -
$980$774 -
$2,370$2,252 -
$1,294Web Services: A Technical Introduction
-
$780$741 -
$590$466 -
$490$387 -
$820$804 -
$560$476 -
$680$666 -
$720$612 -
$1,127Operating System Concepts with Java, 6/e (IE) (美國版ISBN:0471489050)
-
$780$616 -
$690$587 -
$1,176Computer Organization and Design: The Hardware/Software Interface, 3/e(IE) (美國版ISBN:1558606041)
-
$780$616 -
$480$408 -
$650$507 -
$2,540$2,413 -
$1,690$1,606 -
$620$490 -
$520$411 -
$450$351
相關主題
商品描述
Table of Contents:
Foreword.
Preface.
List of Abbreviations.
Chapter 1. Introduction.
The goals of J2EE.
Middleware and J2EE.
J2EE implementation.
The ten fallacies of enterprise computing.Chapter 2. Architecture.
Item 1: Prefer components as the key element of development, deployment, and reuse.
Item 2: Prefer loose coupling across component boundaries.
Item 3: Differentiate layers from tiers.
Item 4: Keep data and processors close together.
Item 5: Remember that identity breeds contention.
Item 6: Use hook points to inject optimizations, customizations, or new functionality.
Item 7: Be robust in the face of failure.
Item 8: Define your performance and scalability goals.
Item 9: Restrict EJB to transactional processing.
Item 10: Never optimize without profiling first.
Item 11: Recognize the cost of vendor neutrality.
Item 12: Build in monitoring support.
Item 13: Build in administration support.
Item 14: Make deployment as simple as possible.Chapter 3. Communication.
Item 15: Understand all your communications options.
Item 16: Consider your lookup carefully.
Item 17: Recognize the cost of network access.
Item 18: Prefer context-complete communication styles.
Item 19: Prefer data-driven communication over behavior-driven communication.
Item 20: Avoid waiting for remote service requests to respond.
Item 21: Consider partitioning components to avoid excessive load on any one machine.
Item 22: Consider using Web Services for open integration.
Item 23: Pass data in bulk.
Item 24: Consider rolling your own communication proxies.Chapter 4. Processing.
Item 25: Keep it simple.
Item 26: Prefer rules engines for complex state evaluation and execution.
Item 27: Prefer transactional processing for implicitly nonatomic failure scenarios.
Item 28: Differentiate user transactions from system transactions.
Item 29: Minimize lock windows.
Item 30: Never cede control outside your component while holding locks.
Item 31: Understand EJB transactional affinity.
Item 32: Prefer local transactions to distributed ones.
Item 33: Consider using optimistic concurrency for better scalability.
Item 34: Consider using pessimistic concurrency for explicit concurrency control.
Item 35: Consider lower isolation levels for better transactional throughput.
Item 36: Use savepoints to keep partial work in the face of rollback.
Item 37: Replicate resources when possible to avoid lock regions.
Item 38: Favor the immutable, for it needs no locks.Chapter 5. State Management.
Item 39: Use HttpSession sparingly.
Item 40: Use objects-first persistence to preserve your domain model.
Item 41: Use relational-first persistence to expose the power of the relational model.
Item 42: Use procedural-first persistence to create an encapsulation layer.
Item 43: Recognize the object-hierarchical impedance mismatch.
Item 44: Use in-process or local storage to avoid the network.
Item 45: Never assume you own the data or the database.
Item 46: Lazy-load infrequently used data.
Item 47: Eager-load frequently used data.
Item 48: Batch SQL work to avoid round-trips.
Item 49: Know your JDBC provider.
Item 50: Tune your SQL.Chapter 6. Presentation.
Item 51: Consider rich-client UI technologies.
Dynamic HTML.
Macromedia Flash.
Applets.
The UrlClassLoader class.
JNLP and Java Web Start. Item 52: Keep HTML minimal.
Item 53: Separate presentation from processing.
Item 54: Keep style separate from content.
Item 55: Pregenerate content to minimize processing.
Item 56: Validate early, validate everything.Chapter 7. Security.
Item 57: Security is a process, not a product.
Item 58: Remember that security is not just prevention.
Item 59: Establish a threat model.
Item 60: Assume insecurity.
Item 61: Always validate user input.
Item 62: Turn on platform security.
Item 63: Use role-based authorization.
Item 64: Use SignedObject to provide integrity of Serialized objects.
Item 65: Use SealedObject to provide confidentiality of Serializable objects.
Item 66: Use GuardedObject to provide access control on objects.Chapter 8. System.
Item 67: Aggressively release resources.
Item 68: Tune the JVM.
Item 69: Use independent JREs for side-by-side versioning.
Item 70: Recognize ClassLoader boundaries.
Isolation.
Versioning. Item 71: Understand Java Object Serialization.
The serialVerUID field.
Customization (writeObject and readObject).
Replacement (writeReplace and readResolve).
Further Details 415Item 72: Don't fight the garbage collector.
Item 73: Prefer container-managed resource management.
Item 74: Use reference objects to augment garbage collection behavior.
SoftReference objects.
WeakReference objects.
PhantomReference objects. Item 75: Don't be afraid of JNI code on the server.Bibliography.
Index.
商品描述(中文翻譯)
目錄:
前言。
序言。
縮寫詞表。
第一章。介紹。
J2EE的目標。中介軟體與J2EE。J2EE的實作。企業計算的十個謬誤。
第二章。架構。
項目1:優先考慮元件作為開發、部署和重用的關鍵元素。項目2:優先考慮元件邊界之間的鬆耦合。項目3:區分層與層級。項目4:保持數據與處理器緊密相連。項目5:記住身份會產生競爭。項目6:使用掛鉤點來注入優化、自定義或新功能。項目7:在面對失敗時保持穩健。項目8:定義你的性能和可擴展性目標。項目9:將EJB限制於事務處理。項目10:切勿在未先進行性能分析的情況下進行優化。項目11:認識供應商中立性的成本。項目12:內建監控支持。項目13:內建管理支持。項目14:使部署盡可能簡單。
第三章。通信。
項目15:了解所有通信選項。項目16:仔細考慮你的查詢。項目17:認識網絡訪問的成本。項目18:優先考慮上下文完整的通信風格。項目19:優先考慮數據驅動的通信而非行為驅動的通信。項目20:避免等待遠程服務請求的響應。項目21:考慮將元件進行分區,以避免對任何一台機器造成過度負載。項目22:考慮使用Web Services進行開放整合。項目23:批量傳遞數據。項目24:考慮自行開發通信代理。
第四章。處理。
項目25:保持簡單。項目26:對於複雜狀態評估和執行,優先考慮規則引擎。項目27:對於隱式非原子失敗場景,優先考慮事務處理。項目28:區分用戶事務與系統事務。項目29:最小化鎖定窗口。項目30:在持有鎖時,切勿將控制權交給你的元件之外。項目31:了解EJB事務親和性。項目32:優先考慮本地事務而非分散式事務。項目33:考慮使用樂觀並發以獲得更好的可擴展性。項目34:考慮使用悲觀並發以進行明確的並發控制。項目35:考慮使用較低的隔離級別以獲得更好的事務吞吐量。項目36:使用保存點以在回滾時保留部分工作。項目37:在可能的情況下複製資源以避免鎖定區域。項目38:偏好不可變的,因為它不需要鎖定。
第五章。狀態管理。
項目39:適度使用HttpSession。項目40:使用物件優先的持久性來保留你的領域模型。項目41:使用關聯優先的持久性來揭示關聯模型的力量。項目42:使用程序優先的持久性來創建封裝層。項目43:認識物件層次的阻抗不匹配。項目44:使用進程內或本地存儲以避免網絡。項目45:切勿假設你擁有數據或數據庫。項目46:延遲加載不常用的數據。項目47:急切加載經常使用的數據。項目48:批量處理SQL工作以避免往返。項目49:了解你的JDBC提供者。項目50:調整你的SQL。
第六章。展示。
項目51:考慮豐富客戶端UI技術。動態HTML。Macromedia Flash。小應用程式。UrlClassLoader類。JNLP和Java Web Start。項目52:保持HTML最小化。項目53:將展示與處理分開。項目54:保持樣式與內容分開。項目55:預生成內容以最小化處理。項目56:及早驗證,驗證所有內容。
第七章。安全性。
項目57:安全性是一個過程,而不是一個產品。項目58:記住安全性不僅僅是預防。項目59:建立威脅模型。項目60:假設不安全。項目61:始終驗證用戶輸入。項目62:啟用平台安全性。項目63:使用基於角色的授權。項目64:使用SignedObject來提供序列化物件的完整性。項目65:使用SealedObject來提供可序列化物件的機密性。項目66:使用GuardedObject來提供對物件的訪問控制。
第八章。系統。
項目67:積極釋放資源。項目68:調整JVM。項目69:使用獨立的JRE進行並行版本管理。項目70:認識ClassLoader邊界。隔離。版本管理。項目71:了解Java物件序列化。serialVerUID欄位。自定義(writeObject和readObject)。替換(writeReplace和readResolve)。進一步細節。項目72:不要與垃圾收集器對抗。項目73:優先考慮容器管理的資源管理。項目74:使用引用物件來增強垃圾收集行為。SoftReference物件。WeakReference物件。PhantomReference物件。項目75:不要害怕在伺服器上使用JNI代碼。
參考書目。
索引。