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