2011-12-20 46 views
1

我有我的應用程序中,我不想每次請求時查詢數據庫的各種小查詢表。所以我只想在第一次請求單例對象時只讀這些內容。我能看到的唯一問題是,如果用戶想要編輯這些表中的記錄,我需要重新設置並重新加載列表中的對象。模式爲單身包含列表

是否有一個線程安全模式,用於存儲和檢索對象列表的Singleton?

+0

你的意思是你想在你的Java應用程序中有一個可以作爲數據庫緩存的對象嗎? – thecoshman 2011-12-20 13:56:01

+1

是的。它會在構造函數中讀取一次對象列表,然後應用程序將使用緩存版本。我試圖考慮如何使用線程,因爲用戶可能會修改這些列表。 – sproketboy 2011-12-20 13:57:34

+0

用戶修改查找?通常這些列表是隻讀的。 – Nishant 2011-12-20 14:02:34

回答

3

您可以使用線程安全的CopyOnWriteArrayList

+0

有趣。這與Concurrent集合有什麼不同? – sproketboy 2011-12-20 15:23:36

+0

不確定差異,我沒有評估對方的兩種選擇。正如我所說的,一個**可以使用該列表:-) – 2011-12-20 15:25:09