Java設計模式及實踐》—1.6 總結">《Java設計模式及實踐》—1.6 總結
893
2025-03-31
2.5 對象池模式
對象的實例化是最耗費性能的操作之一,這在過去是個大問題,現在不用再過分關注它。但當我們處理封裝外部資源的對象(例如數據庫連接)時,對象的創建操作則會耗費很多資源。
解決方案是重用和共享這些創建成本高昂的對象,這稱為對象池模式,如圖2-9所示,它具有以下結構。
圖 2-9
對象池模式中使用的類如下所示:
ResourcePool(資源池類):用于封裝邏輯的類。用來保存和管理資源列表。
Resource(資源類):用于封裝特定資源的類。資源類通常被資源池類引用,因此只要資源池不重新分配,它們就永遠不會被回收。
Client(客戶端類):使用資源的類。
當客戶端需要新資源時,會向資源池類申請,資源池類檢查后獲取第一個可用資源并將其返回給客戶端:
客戶端使用完資源后會進行釋放,資源會重新回到資源池以便重復使用。
資源池的典型用例是數據庫連接池。通過維護數據庫連接池,可以讓代碼使用池中的不同數據庫連接。
Java 數據庫
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。