这可能是一个基本问题,有一些我不知道的解决方案,但基本上我有一个apache-tomcat web应用程序,它承载了很多不同的站点,每个访问者都需要访问xml的内容文件。这可能是大约6种不同的xml文件。如果我允许每次访问该文件(该文件用于许多包含的页面和资产)我打开太多文件,如果我将它存储在会话中,我会得到太多的内存使用量。
我想要的是编译类时让一个类将每个文件读入内存然后像常量一样访问这些数据。这样做有简单的方法吗?
答案 0 :(得分: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;
}
}