java - 在 Java 编译时将文件内容读入内存

标签 java apache tomcat

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

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

最佳答案

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

维基百科关于单例 (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;
    }
}

关于java - 在 Java 编译时将文件内容读入内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19694105/

相关文章:

java - Micronaut 中的多个身份验证提供程序

java - 在 Timer 中使用变量

java - 复选框导致小部件出错

apache - 无法访问 http ://localhost:80 on running apache server

regex - .htaccess:阻止访问文件并阻止目录浏览

java - 在 Tomcat 上使用 MySQL 池化 PreparedStatement

tomcat - Appscan 检测到主机名/管理器的隐藏目录

web-applications - 无法访问 Tomcat 6 管理器应用程序

java - JVM是如何进行方法查找和调用的?

apache - 安装成功但无法在我的 Windows 7 系统上启动 apache 2.4