0

在我们的 Java 应用程序中,我们使用 XML 来维护静态数据和变化条件。现在,这些 XML 的增长超出了控制。有什么替代方法来维护我们的静态数据和变化条件,这将使我们在性能成本和可用性方面受益?

谢谢

4

1 回答 1

1

对于您所说的,您在每个请求中读取 XML 文件,如果您使用 JAX-B 或以某种方式作为对象进入,则在加载此文件后创建一个单例(http://en.wikipedia.org/wiki/Singleton_pattern)将此值保存在内存中,这样您只需验证 XML 一次并将其保存在内存中,从而提高性能。但是,如果 XML 真的很大并且您无法在内存中维护它们,我建议将这些信息放在数据库中。您可以将所有数据迁移到数据库中,或者创建一个功能来根据 XML 数据在系统启动时更新数据。在这种使用数据库的场景中,最好的解决方案是迁移所有数据,不再使用 XML。要衡量每种方法的性能,您必须编写如下内容:

public static void main(String args[]) {
    Date initialDate = new Date();
    getXmlValue();// or getDBValue();
    Date finalDate = new Date();
    System.out.println("Load XML took " + (initialDate.getTime()-finalDate.getTime()) + "ms");
}
于 2014-01-30T16:35:01.720 回答