Java moves to copying for substrings
bearophile
bearophileHUGS at lycos.com
Tue Nov 19 02:27:27 PST 2013
Jesse Phillips:
> Somewhat interesting, Java has chosen to make substring result
> in a copy of the string data rather than returning a window of
> the underlying chars.
I presume in Java slices weren't very common, unlike in D. So I
think this is the right design choice for Java (also because
those Java strings are too much large, four instance fields), but
D is better designed as it is.
On the other hand the idea of putting the hash code inside the
string in D was not discussed enough :-)
From the discussion, Dmd associative arrays were designed like
this:
>In Java 8 an improved solution devised by Doug Lea is used. In
>this solution colliding but Comparable Map keys are placed in a
>tree rather than a linked listed. Performance degenerates to
>O(log n) for the collisions but this is usually small unless
>someone is creating keys which intentionally collide or has a
>very, very bad hashcode implementation, ie. "return 3".<
>I am reminded of a denial of service attack that used
>intentionally colliding request field names/values to attack web
>servers and bringing down servers to their knees.<
Bye,
bearophile
More information about the Digitalmars-d
mailing list