java中的singleton类可以作为缓存机制吗?

时间:2012-03-23 09:49:22

标签: java design-patterns caching singleton

我的java applciation是一个控制台应用程序。我正在读取大量只读数据并将其保存在名为flatFileList的List下。

 List flatFileList = readLotofDataFromFile(fileName);

现在这个flatFileList几乎用在代码的所有部分。我不想再读取数据文件。所以我创建了一个单例类和一个getInstance()

我在需要获取flatFileList对象的任何地方使用此getInstance()方法。我的问题是,这个单例模式可以作为缓存机制调用吗?因为我没有从flatfile中再次读取数据。

2 个答案:

答案 0 :(得分:3)

当然,这正是缓存的用途:部分(或所有)数据被读入通常非持久的内存,靠近需要数据提高访问速度的进程。

答案 1 :(得分:3)

其他可能的解决方案是使用Flyweight pattern,它也可以用作缓存机制。