我正在使用Dom4J 1.4.2。
现在我的代码每次要解析一个新的XML文档时都会创建一个新的SaxReader:
SAXReader reader = new SAXReader( );
创建SaxReader对象池并重用它们有什么价值吗?在每次通话中创建新的SaxReader需要多少开销?
我的代码可以从池中获取一个,解析文档然后将其返回到池以供另一个线程使用。
答案 0 :(得分:4)
与所有所谓的性能问题和集合对象的冲动一样:您是否遇到了实际问题,或者您是否试图在此过早优化?至少自2005年以来,在Java中滚动自己的池已经out of fashion。
我偷看了SAXReader的源代码,这是构造函数:
138 public SAXReader() {
139 }
没有实例初始化程序,真正的工作是在read
方法中完成的。