关于数据结构中什么大小可以称为大或小,是否有任何约定?

Are there any conventions about what size could call big or small in data structures?

我无法理解在 Java 中,DOM 解析器适用于小型 XML files/streams,但不适用于大型解析器。

能否指定小或大的定义XML?这取决于文件有多少 KB 或 MB,还是结构也很重要?

当然,我可以通过实施和测试性能来检查它,但我想这样太花时间了。

它本身没有好坏之分。只是它将文档的所有节点及其内容加载到内存中,而 SAX 允许避免这种情况。

当然,如果您的文档有 100 MB 大,并且有一个独特的根元素,其中包含您需要存储在内存中的大量文本,那么使用 SAX 而不是 DOM 可能不会有太大变化内存消耗。

但是如果您有数百万个元素并且想要一个一个地处理每个元素,那么使用 SAX 可以将内存使用率保持在非常低的水平,而 DOM 则不能。

你问得对。真正的工程师不会谈论 "big" 和 "small",他们使用数字。你不要问在很宽的河流上架桥会不会很贵,你问在1Km宽的河流上架桥需要多少钱

对于内存来说,适合主内存的东西和不适合主内存的东西之间经常存在不连续性。因此,如果可用内存为 2Gb,那么 2Gb 以上的内存可能需要与 2Gb 以下的内存不同的设计方法。因此,关于特定设计(例如 DOM)适用于 "small" 文档但不适用于 "big" 文档的声明可能会根据这种不连续性来理解。

顺便说一句,术语 "DOM" 有时专门用于 W3C DOM,有时用作内存中树表示的通用术语。 DOM 本身,在 org.w3.dom 的意义上,从来都不是最好的技术方法; JDOM2 和 XOM 等第三方树模型总是更好。人们只是出于对替代方案的无知而使用 DOM,或者因为他们认为它具有优点,因为它是 "standard"。