question regarding the java.lang.String design
Xiaobin Lu
Xiaobin.Lu at Sun.COM
Fri Jan 30 10:42:29 PST 2009
Resend the email to hotspot-dev at openjdk.java.net.
-Xiaobin
Xiaobin Lu wrote:
> Hi folks,
>
> While I am looking at the java.lang.String implementation, I noticed
> that it has "offset" and "count" field in java.lang.String. For the
> offset field, I only found two places which set that field, but I
> believe they can be got rid of too. The two places are
> String(StringBuffer buffer) & String(StringBuilder builder).
>
> My question is that if String is immutable, why do we need to carry
> these two fields? String could be more compacted without these two
> fields. The equals to method can be more efficiently implemented as
> just calling java.util.Array.equals(v1, v2) which is intrinsified on
> x86 at least.
>
> Another crazy thought is that we can compact the character array to a
> byte array if we don't have any characters other than ASCII (which we
> might use a boolean flag to indicate that).
>
> I'd appreciate your insight on this.
>
> -Xiaobin
>
>
>
More information about the hotspot-dev
mailing list