再使用
在同一线程中,这些对象可以并且应该被重用。例如,您可以使用 DocumentBuilder 分析多个文档。
螺纹安全
DocumentBuilderFactory曾经明确声明它不是线程安全的,我相信这仍然是真的:
DocumentBuilderFactory 类的实现不保证是线程安全的。由用户应用程序来确保从多个线程使用 DocumentBuilderFactory。
从 Stack Overflow 中,DocumentBuilder 似乎也不是线程安全的。但是,在 Java SE 5 中添加了一个 reset 方法,允许您重用 DocumentBuilders:
XPath 不是线程安全的,来自 Javadoc
XPath 对象不是线程安全的,也不是可重入的。换言之,应用程序有责任确保在任何给定时间都不会从多个线程使用一个 XPath 对象,并且在调用 evaluate 方法时,应用程序可能不会以递归方式调用 evaluate 方法。
节点不是线程安全的,来自Xerces网站
Xerces DOM实现线程安全吗?不。DOM 不要求实现是线程安全的。如果需要从多个线程访问 DOM,则需要向应用程序代码添加适当的锁。
ErrorHandler 是一个接口,因此由该接口的实现来确保线程安全。有关线程安全的指针,您可以从此处开始: