On 2012-10-01 13:25, Michael Meeks wrote:
The latest Java VM does this trick internally - it pretends that String
is stored with an array of 16-bit values, but actually it stores them as
UTF-8.
Interesting - for all strings ? is there a pointer to the code / docs
for that detail somewhere ? :-)
It's a "magic" thing. The VM overrides the language level definition of
java.lang.String with it's own.
Hmm, pity, looks like they introduced it in JDK6 and then dropped it in
JDK7.
http://stackoverflow.com/questions/8833385/is-support-for-compressed-strings-being-dropped
Looks like the backwards compatibility overhead was too high.
Last I looked Java also stored partial
strings chained to it's parent; so 'substring' takes a reference on the
parent (be it ever so large), and can return a single character string
out of it without re-allocation. IIRC that can cause huge grief when
parsing big files into little ones ;-)
That "optimisation" is being dropped in JDK8, for precisely that reason.
Disclaimer: http://www.peralex.com/disclaimer.html
_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice