SAX2: Namespace proposal

David Brownell david-b at
Tue Dec 21 18:28:42 GMT 1999

David Megginson wrote:
> Miles Sabin <msabin at> writes:
> > > If I were doing it over, though, I would actually call
> > > java.lang.String.intern once for each of the strings in the
> > > intern table so that they were == to the regular intern'ed
> > > versions.
> >
> > Try it, but I think you'll be more likely to lose than gain.

Having done this, I'll disagree.  The cost wasn't observable.

Except ... that processing some documents blew up a fixed-size
table in at least one incarnation of the JDK 1.1.x JVM.  I saw
that in a pathological stress test case (which generated random
documents), never once "in the wild", but it does provide yet
another reason to use a better JVM (like JDK 1.2.x) on servers
and in other cases where you expect the JVM to live a long time.

> I'd appreciate more information here -- if I call
> java.lang.String.intern the first time I add a string to the intern
> table, then the cost is proportional to the number of entries in the
> table, not the number of accesses.

Right.  The man cost being mapping from a portion of a buffer
to the String ... a "local" intern.  Going one step beyond that
to a "global" intern (using the JVM) is cheap, since it's hardly
ever done.

- Dave

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as: and on CD-ROM/ISBN 981-02-3594-1
To unsubscribe, mailto:majordomo at the following message;
unsubscribe xml-dev
To subscribe to the digests, mailto:majordomo at the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at

More information about the Xml-dev mailing list