在我们的java应用程序中,我们使用XML来维护静态数据和变化条件。现在这些XML已经无法控制。什么是维持静态数据和变化条件的替代方案,这将使我们在性能成本和可用性方面受益?
由于
答案 0 :(得分:1)
对于你所说的你在每个请求中读取XML文件,如果你使用JAX-B或以某种方式作为对象进入,加载后这个文件生成一个Singleton(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");
}