2011-12-20 24 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