这可能是一个基本问题,有某种我不知道的解决方案,但基本上我有一个托管许多不同站点的 apache-tomcat Web 应用程序,每个访问者都需要访问 xml 文件的内容。这可能是大约 6 个不同的 xml 文件。如果我每次都允许访问该文件(该文件在许多包含的页面和资产中使用),我打开的文件太多,如果我将它存储在会话中,我会使用太多的内存。
我想要的是当我编译类时让一个类将每个文件读入内存,然后像常量一样访问该数据。有没有一种简单的方法可以做到这一点?
这是单例有用的经典案例。单例通常用于仅加载一次内容。
维基百科页面上关于单身人士的修改示例(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;
}
}