1

这可能是一个基本问题,有某种我不知道的解决方案,但基本上我有一个托管许多不同站点的 apache-tomcat Web 应用程序,每个访问者都需要访问 xml 文件的内容。这可能是大约 6 个不同的 xml 文件。如果我每次都允许访问该文件(该文件在许多包含的页面和资产中使用),我打开的文件太多,如果我将它存储在会话中,我会使用太多的内存。

我想要的是当我编译类时让一个类将每个文件读入内存,然后像常量一样访问该数据。有没有一种简单的方法可以做到这一点?

4

1 回答 1

2

这是单例有用的经典案例。单例通常用于仅加载一次内容。

维基百科页面上关于单身人士的修改示例(http://en.wikipedia.org/wiki/Singleton_pattern):

public class Singleton {
    private static final Singleton INSTANCE = new Singleton();
    private String xmlFileContents;

    private Singleton() {
        // Call method to populate xmlFileContents field from XML file
    }

    public static Singleton getInstance() {
        return INSTANCE;
    }

    public String getXMLFileContents() {
        return xmlFileContents;
    }
}
于 2013-10-30T21:36:50.960 回答