Java 使用变化条件和静态数据增长XML。寻找替代方案

Java 使用变化条件和静态数据增长XML。寻找替代方案,java,xml,variation,Java,Xml,Variation,在我们的java应用程序中,我们使用XMLs来维护静态数据和变化条件。现在,这些XML的增长超出了控制范围。在性能成本和可用性方面,维护静态数据和变化条件的替代方案是什么 感谢您所说的,您在每个请求中读取了XML文件,如果您使用JAX-B或以某种方式作为对象进入,在加载此文件后,创建一个Singleton()将此值保存在内存中,这样您只需验证XML一次,并将其保存在内存中,从而提高了性能。 但是,如果XML非常庞大,您无法在内存中维护它们,我建议将这些信息放在数据库中。您可以将所有数据迁移到数据

在我们的java应用程序中,我们使用XMLs来维护静态数据和变化条件。现在,这些XML的增长超出了控制范围。在性能成本和可用性方面,维护静态数据和变化条件的替代方案是什么


感谢您所说的,您在每个请求中读取了XML文件,如果您使用JAX-B或以某种方式作为对象进入,在加载此文件后,创建一个Singleton()将此值保存在内存中,这样您只需验证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");
}

“失控增长”到底意味着什么?你有什么问题?您的数据的性质是什么?为什么不使用数据库?谢谢您的回复。如何评估当前使用XML获得的性能优势和使用DB方法获得的性能优势。基本上,我如何得出我必须将xml移到DB的结论?您必须执行如下操作:Date initialDate=new Date();getXmlValue();日期finalDate=新日期();System.out.println(“加载XML take”+initialDate.getTime()-finalDate.getTime());我将用此代码更新答案。如果您喜欢,请@ams2705更新我的答案。这样我就可以更好地发表评论。谢谢