JEP 254: Compact Strings - length limits
Charles Oliver Nutter
headius at headius.com
Tue Sep 6 19:58:52 UTC 2016
On Tue, Sep 6, 2016 at 1:04 PM, Xueming Shen <xueming.shen at oracle.com>
wrote:
> Yes, it's a known "limit" given the nature of the approach. It is not
> considered
> to be an "incompatible change", because the max length the String class
> and
> the corresponding buffer/builder classes can support is really an
> implementation
> details, not a spec requirement. The conclusion from the discussion back
> then
> was this is something we can trade off for the benefits we gain from the
> approach.
> Do we have a real use case that impacted by this change?
>
Well, doesn't this mean that any code out there consuming String data
that's longer than Integer.MAX_VALUE / 2 will suddenly start failing on
OpenJDK 9?
Not that such a case is a particularly good pattern, but I'm sure there's
code out there doing it. On JRuby we routinely get bug reports complaining
that we can't support strings larger than 2GB (and we have used byte[] for
strings since 2006).
- Charlie
More information about the core-libs-dev
mailing list